The following are examples of running the script tcl_ins.d
Here it traces as Code/Tcl/func_slow.tcl executes.
# tcl_ins.d
Tracing... Hit Ctrl-C to end.
^C
PID TYPE NAME COUNT
16005 inst foreach_start4 1
16005 inst jumpTrue1 1
16005 inst lappendScalar1 1
16005 inst list 1
16005 inst strneq 1
16005 inst beginCatch4 2
16005 inst dup 2
16005 inst endCatch 2
16005 inst eq 2
16005 inst land 2
16005 inst storeScalarStk 2
16005 inst foreach_step4 4
16005 inst not 4
16005 inst loadArrayStk 5
16005 inst streq 7
16005 inst tryCvtToNumeric 8
16005 inst jumpFalse1 12
16005 inst loadScalarStk 13
16005 inst jump1 14
16005 inst pop 18
16005 inst invokeStk1 53
16005 inst add 600000
16005 inst concat1 600000
16005 inst exprStk 600000
16005 inst lt 600007
16005 inst storeScalar1 600016
16005 inst done 600021
16005 inst loadScalar1 1200020
16005 inst push1 4200193
It is showing the instructions called by Tcl as the program executes. The
larger counts toward the bottom of the display are from the looping construct
used in Code/Tcl/func_slow.tcl.
Tracing the instructions is quite low-level and slow the target application
considerably and would probably be used only as a last resort if you have no
other indication of why CPUs are busy.