Debugging TCL开发:调试环境

Debugging TCL开发:调试环境,debugging,tcl,tivo,Debugging,Tcl,Tivo,我喜欢在业余时间进行一点TiVo黑客攻击——TiVo使用Linux变体和。我想在我的Windows笔记本电脑上编写TCL脚本,测试它们,然后将它们FTP到我的TiVo上 我可以推荐一个用于Windows的TCL调试环境吗?Activestate的Komodo是一个很好的用于Windows/Linux的IDE。有试用版-我不确定试用后是否有免费版本。我不确定您是否需要这样的调试环境。只需从ActiveState()获取二进制版本,并从命令提示符(C:/blahblah/tclsh myprog.t

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


我可以推荐一个用于Windows的TCL调试环境吗?

Activestate的Komodo是一个很好的用于Windows/Linux的IDE。有试用版-我不确定试用后是否有免费版本。

我不确定您是否需要这样的调试环境。只需从ActiveState()获取二进制版本,并从命令提示符(C:/blahblah/tclsh myprog.tcl)运行脚本,看看它会显示什么


我建议不要从源代码处构建它,因为它不会真正为您带来任何好处。

ActiveState有一个我过去使用过的Tcl开发工具包(不是免费的,但很便宜)。它甚至可以与我们的嵌入式tcl解释器一起工作

我发现(来自理查德·苏肯沃思)很方便。一旦解释器看到对这个函数的调用,比如说“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
    }
 }

讨论用于在Tcl中开发和调试的工具。特别是,我迷恋tkinspect(在wiki页面上提到了tkinspect,在wiki的其他地方也提到了它自己的页面),它允许linux或其他unix x环境中的用户与正在运行的tk应用程序交互,以尝试进行一些调试。当然,ActiveState的商业产品“tcl开发工具包”有一个调试器。wiki上还讨论了其他调试器-免费的和不那么免费的调试器。

现在有一个调试器,它具有调试功能。以下是一些屏幕截图:

如果您正在寻找具有编辑功能的调试器,
也是一个不错的工具。

printf(er,puts)调试不能替代一个好的调试器。Komodo是Mac/Linux/Win的一个不错的IDE。非常适合Tcl。我已经用了几年了。