【问题标题】:How to print TCL run commands如何打印 TCL 运行命令
【发布时间】:2020-11-25 22:34:50
【问题描述】:

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

即:

>> namespaceXY::commandXY

我想打印:

"-- 运行中:namespaceXY::commandXY"

谢谢

【问题讨论】:

标签: tcl


【解决方案1】:

要查看命令跟踪,请使用执行跟踪。您通常将它们附加到 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。请注意,您将获得大量输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-18
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 2011-01-05
  • 2016-02-25
相关资源
最近更新 更多