【发布时间】:2020-11-25 22:34:50
【问题描述】:
如何打印我正在运行的每个 TCL 命令,理想情况下如何自定义此打印?
即:
>> namespaceXY::commandXY
我想打印:
"-- 运行中:namespaceXY::commandXY"
谢谢
【问题讨论】:
-
是的,我认为除了“trace”之外还有其他解决方案......谢谢
标签: tcl
如何打印我正在运行的每个 TCL 命令,理想情况下如何自定义此打印?
即:
>> namespaceXY::commandXY
我想打印:
"-- 运行中:namespaceXY::commandXY"
谢谢
【问题讨论】:
标签: tcl
要查看命令跟踪,请使用执行跟踪。您通常将它们附加到 source 或(不太常见)eval 之类的东西上。
proc printTrace {commandCall op} {
# I don't know whether you want the arguments too; they can get quite long...
puts "-- Running : [lindex $commandCall 0]"
}
trace add execution source enterstep printTrace
source myScript.tcl
这将启用从source 开始到结束的所有命令的跟踪;如果该文件包含您的主循环处理,您将获得所有内容的打印。
请注意,步骤级执行跟踪有很大的开销,并且某些命令可能具有您通常不会观察到的内部步骤。
【讨论】:
$commandCall。请注意,您将获得大量输出。