提问人:ColinYounger 提问时间:8/21/2008 更新时间:5/4/2023 访问量:2139
TCL开发:调试环境
TCL development: debug environment
问:
我喜欢在业余时间进行一些 TiVo 黑客攻击 - TiVo 使用 Linux 变体和 TCL。我想在我的 Windows 笔记本电脑上编写 TCL 脚本,测试它们,然后将它们通过 FTP 传输到我的 TiVo。
请问我能推荐一个适用于 Windows 的 TCL 调试环境吗?
答:
Activestate 的 Komodo 是一个很好的 Windows/Linux IDE。有一个试用版 - 我不确定试用后是否有免费版本。
评论
我不确定您是否需要这样的调试环境。只需从 ActiveState (http://www.activestate.com/Products/activetcl/index.mhtml) 获取二进制版本,然后从命令提示符 (C:/blahblah/tclsh myprog.tcl) 运行脚本,看看它吐出什么。
我建议不要从源代码构建它,因为它不会真正为你带来任何好处。
评论
ActiveState 有一个我过去使用过的 Tcl 开发工具包(不是免费的,但很便宜)。它甚至可以与我们的嵌入式 tcl 解释器一起使用。
http://www.activestate.com/tcl_dev_kit/
我发现这个来自 Tcl wiki(来自 Richard Suchenwirth)的断点设置器很方便。一旦解释器看到对此的调用,比如“bp beforehairyfunction”,它就会暂停并给你一个 tclsh 提示。
proc bp {{s {}}} {
if ![info exists ::bp_skip] {
set ::bp_skip [list]
} elseif {[lsearch -exact $::bp_skip $s]>=0} return
if [catch {info level -1} who] {set who ::}
while 1 {
puts -nonewline "$who/$s> "; flush stdout
gets stdin line
if {$line=="c"} {puts "continuing.."; break}
if {$line=="i"} {set line "info locals"}
catch {uplevel 1 $line} res
puts $res
}
}
此 wiki 页面讨论了用于在 Tcl 中进行开发和调试的工具。特别是,我迷上了 tkinspect(在那个 wiki 页面上提到,在 wiki 的其他地方有自己的页面),它允许 linux 或其他 unix x 环境中的人与正在运行的 tk 应用程序进行交互,以尝试进行一些调试。当然,ActiveState 的商业产品“tcl dev kit”有一个调试器。wiki 上还讨论了其他调试器 - 免费和不那么免费。
现在有一个用于 Netbeans 的 Tcl 插件,它具有调试功能。以下是一些屏幕截图: http://wiki.tcl.tk/28657
如果您正在寻找具有编辑可能性的调试器,RamDebugger 也是一个不错的工具。
Tcl 开发工具包 (TDK) 包含一个调试器,您可以试用该调试器。自 2018 年以来,它是开源的(BSD-3 许可证),可以从 github 下载:
https://github.com/ActiveState/tdk
以前的付费版本很容易在 Windows 上安装,开源版本无需设置。
评论