如何调试TCL脚本? 有没有可用于调试的工具?
答案 0 :(得分:5)
我知道Tcl的最佳调试器是ActiveState's TclDevKit的一部分;它是非自由的,但强烈推荐。 (还有一个免费的21天试用版。)
其他选项是available。首先,Tcl的内置trace
命令使得在您自己的断点,观察点,单步跟踪等中添加它非常简单。但是缺少适当的免费集成工具(正是因为我们与ActiveState工作人员相处得非常好的社区)。不过,您可能会发现下一个代码示例很有用:
跟踪所有命令调用:
# overwrite at each invocation of this script; pick somewhere else if you prefer
set _Trace_fd [open "/tmp/tcltrace.tmp" w]
fconfigure $_Trace_fd -buffering line
rename proc _proc
_proc proc {name arglist body} {
uplevel [list _proc $name $arglist $body]
uplevel trace add execution $name enterstep {::apply {{name cmd op} {
puts $::_Trace_fd "$name >> $cmd"
}}}
}
注意,这会产生相当多的输出和典型的代码......
答案 1 :(得分:3)
tcl&#wiki上已经提到的列表是一个很好的资源,即使ActiveState TclDevKit调试器是最好的(也是基于Eclipse的Tcl IDE使用的调试器),还有一些其他的选项。
一个可能是RamDebugger:http://www.compassis.com/ramdebugger/Intro
答案 2 :(得分:2)
TCL是调试TCL的好工具。看看trace命令。 info和winfo也很有用。如果你想要将这些内容包装到一个更传统的调试器中,那么http://wiki.tcl.tk/473
就有一个列表