package require sgxCP ::sgxCP::init source test.tcl puts stderr [::sgxCP::print] |
プロファイル結果は、プロシジャ毎に出力されます。
プロシジャのコール回数と実行時間が表示されます。
最後に一度も使われなかったプロシジャが表示されます。
Profiling information for ::pong ------------------------- Total calls: 3 Caller distribution: 3 ::ping Compile time: 14166 Total runtime: 43629 Average runtime: 14543 Runtime StDev: 367 Runtime cov(%): 2.5 Total descendant time: 42594 Average descendant time: 14198 Descendants: 3 ::ping Never used: 1 proc(s) ::pongping |
[謎の現象]
Tkを使ったスクリプトのプロファイルをし、結果を表示させると以下のエラーが発生します。
バグだと思いますが。。。
puts stderr [::sgxCP::print] => divide by zero |
package require sgxCT ::sgxCT::Init {p.*g} stderr source test.tcl ::sgxCT::Summary {p.*g} |
トレース結果は、プロシジャのコールとリターンの関係が出力されます。
プロシジャのネストレベル、引数、返却値が表示されます。
Summaryは、プロシジャのコール数と呼び出しの関係が表示されます。
# Call Trace regexp: 'p.*g' mode level proc args/return call 1 ::pingpong call 2 ::ping 1 call 3 ::pong 1 call 4 ::ping 2 call 5 ::pong 2 call 6 ::ping 3 call 7 ::pong 3 call 8 ::ping 4 BANG 4 return 8 ::ping BANG return 7 ::pong 3 return 6 ::ping 3 return 5 ::pong 2 return 4 ::ping 2 return 3 ::pong 1 return 2 ::ping 1 return 1 ::pingpong 1 # Call Trace Summary regexp: 'p.*g' # called: 4 ::ping 1 ::pingpong 3 ::pong # caller: 4 ::ping 1 ::pingpong 3 ::pong # callings: 1 ::ping ::BANG 3 ::ping ::pong 1 ::pingpong ::ping 3 ::pong ::ping 1 ./test/test_ct.dat ::pingpong # unused: 0 ::pongping |
package require sgxRSM ::sgxRSM::_Files_ test.tcl |
測定結果は、コマンドとプロシジャのコール数がプロシジャ毎に出力されます。
コード行数と有効なコード行数とその割合が表示されます。
最後にSummaryとして、コマンドとプロシジャのコール総数が表示されます。
# ------------------------------------------------ Proc : test_tvc FPM : 3 FRPM : 1 FC : 22 LOC : 142 eLOC : 57 SCUM : 149.1% Calls: 62 3 append 1 array 3 break 1 expr 1 for 3 foreach 3 global 1 if 2 incr 1 info 3 lappend 4 list 1 regexp 1 regsub 1 return 1 scan 16 set 1 string 7 subst 3 unset 2 upvar 3 variable # ------------------------------------------------ |
package require sgxTVC ::sgxTVC::_Files_ test.tcl |
テスト結果は、エラーと警告のある変数一覧が出力されます。
test_tvc error undef_14 variable undefined used by incr test_tvc error undef_15 variable undefined used by unset test_tvc error undef_16 variable undefined used by array test_tvc error undef_17 variable undefined used by info test_tvc warning append bad style variable test_tvc warning lappend bad style variable test_tvc warning incr bad style variable test_tvc error unused_01 variable undefined used by append test_tvc error unused_02 variable undefined used by lappend test_tvc error unused_00 argument unused test_tvc error proc argument unused test_tvc warning proc bad style argument test_tvc error append variable unused test_tvc warning append bad style variable test_tvc error lappend variable unused test_tvc warning lappend bad style variable test_tvc warning set bad style variable test_tvc error incr variable unused test_tvc warning incr bad style variable |