TCL开发:调试环境

时间:2008-08-20 16:32:15

标签: debugging tcl tivo

我喜欢在业余时间进行一些TiVo黑客攻击--TiVo使用Linux变体和TCL。我想在我的Windows笔记本电脑上编写TCL脚本,测试它们然后将它们FTP到我的TiVo。

我可以推荐Windows的TCL调试环境吗?

7 个答案:

答案 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解释器。

http://www.activestate.com/tcl_dev_kit/

答案 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
    }
 }