首页 > 解决方案 > 如何打印 TCL 运行命令

问题描述

如何打印我正在运行的每个 TCL 命令,理想情况下如何自定义此打印?

IE :

>> 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开始到结束的所有命令的跟踪;如果该文件包含您的主循环处理,您将获得所有内容的打印。

请注意,步骤级执行跟踪具有大量开销,并且某些命令可能具有您通常不会观察到的内部步骤。


推荐阅读