PowerFX V1.0 運用説明書 - Microsoft(R) Windows(R) - |
目次 索引 |
第3章 TCLplus | > 3.4 TCLplusコマンド |
指定した変数が読み込み、書き込み、削除された場合に、実行する処理を設定/解除します。
指定したコマンドが実行された場合に、実行する処理を設定/解除します。
trace add type target read proccmd trace add type target write proccmd trace add type target unset proccmd trace add type target enter proccmd trace add type target leave proccmd trace remave rmtype rmtarget opt rmproccmd
add
監視対象のコマンドまたは変数(target)がオプションで指定された状態になったときに実行する処理(proccmd)を設定します。
read
監視対象の変数(target)の値を参照したときにproccmdが実行されます。
write
監視対象の変数(target)に値が書き込まれたときにproccmdが実行されます。
unset
監視対象の変数(target)が削除されたときにproccmdが実行されます。
enter
監視対象のコマンド(target)が実行される前にproccmdが実行されます。
leave
監視対象のコマンド(target)が実行される後にproccmdが実行されます。
remove
addオプションで設定した処理(proccmd)を解除します。
type
監視対象が変数である場合、variableを指定します。
監視対象がコマンドである場合、executionを指定します。
target
監視対象となる変数またはコマンドを指定します。
proccmd
監視対象がオプションで指定した状態になった場合に実行するプロシージャを記述します。このプロシージャはprocコマンドにより作成します。このプロシージャは以下の引数により実行されます。
■オプションがread,write,unsetの場合
proccmd name1 name2 op
name1
監視対象の変数名
name2
通常はNULL。ただしname1に配列変数が指定された場合、要素名となる。
op
proccmdが実行される契機となった監視対象の状態 (read, writeまたはunset)
■オプションがenterの場合
proccmd cmdstring op
cmdstring
監視対象のコマンドとその引数の文字列
op
proccmdが実行される契機となった監視対象の状態(enter)
■オプションがleaveの場合
proccmd cmdstring code result op
cmdstirng
監視対象のコマンドとその引数の文字列
code
監視対象のコマンドが実行されたときの復帰値
result
監視対象のコマンドが正常に実行された場合は0
監視対象のコマンドの実行でエラーが発生した場合は1
op
proccmdが実行される契機となった監視対象の状態(leave)
rmtype
rmtargetが変数である場合、variableを指定します。
rmtargetがコマンドである場合、executionを指定します。
rmtarget
設定を解除する監視対象(変数名またはコマンド名)を指定します。
opt
設定を解除する監視対象の契機(read,wirte,unset,enter,leave)を指定します。
rmproccmd
設定を解除するプロシージャ名を指定します。
なし
なし
変数xの読込み、書き込み、削除をトレースします。
#トレース有効時の処理をコマンドとして定義 proc Vartrce { para1 para2 para3 } { upvar $para1 var switch $para3 { unset { puts stdout "変数$para1 が削除された" } write { puts stdout "変数$para1 が書き込まれた 値は$var" } read { puts stdout "変数$para1 が読み込まれた 値は$var" } } } #トレースを有効にする(無効の場合はコメントアウトする) trace add variable x {unset write read} Vartrce #トレースをとるスクリプト set x 1 set y [expr $x + 1] set x [expr $y + 1] puts stdout "変数x の値は$x" unset x |
<実行結果>
変数x が書き込まれた 値は1 変数x が読み込まれた 値は1 変数x が書き込まれた 値は3 変数x が読み込まれた 値は3 変数x の値は3 変数x が削除された |
目次 索引 |