我喜欢在业余时间进行一些TiVo黑客攻击--TiVo使用Linux变体和TCL。我想在我的Windows笔记本电脑上编写TCL脚本,测试它们然后将它们FTP到我的TiVo。
我可以推荐Windows的TCL调试环境吗?
答案 0 :(得分:4)
Activestate的Komodo是Windows / Linux的一个很好的IDE。有试用版 - 我不确定试用后是否有免费版本。
答案 1 :(得分:2)
我不确定您是否需要这样的调试环境。只需从ActiveState(http://www.activestate.com/Products/activetcl/index.mhtml)获取二进制版本,然后从命令提示符(C:/ blahblah / tclsh myprog.tcl)运行脚本,看看它吐出的内容。
我建议不要从源代码构建它,因为它并没有真正为你带来任何好处。
答案 2 :(得分:1)
This wiki page讨论了在Tcl中开发和调试的工具。特别是,我一直迷恋tkinspect(在wiki页面上提到wiki上其他地方有自己的页面),它允许linux或其他unix x环境中的一个与正在运行的tk应用程序进行交互以尝试进行一些调试。当然,ActiveState的商业产品“tcl dev kit”有一个调试器。还有其他调试器 - 免费且不那么自由 - 也在维基上讨论过。
答案 3 :(得分:1)
现在有一个Tcl plugin for Netbeans,它有一个调试功能。以下是一些屏幕截图:http://wiki.tcl.tk/28657
答案 4 :(得分:1)
如果您正在寻找具有编辑功能的调试器, RamDebugger也是一个不错的工具。
答案 5 :(得分:0)
ActiveState有一个我以前用过的Tcl开发工具包(不是免费的,但很便宜)。它甚至可以使用我们的嵌入式tcl解释器。
答案 6 :(得分:0)
我发现this breakpoint setter from the 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
}
}