私は余暇に 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) からスクリプトを実行して、何が表示されるかを確認します。アウト。
実際には何も得られないため、ソースからビルドしないことをお勧めします。
編集の可能性があるデバッガーを探しているなら、 RamDebuggerも素晴らしいツールです。
この wiki ページでは、Tcl で開発およびデバッグするためのツールについて説明します。特に、私は tkinspect (ウィキの他の場所に独自のページがあるウィキ ページで言及されています) に夢中になりました。これにより、Linux またはその他の Unix x 環境で、実行中の tk アプリケーションと対話してデバッグを試みることができます。もちろん、ActiveStateの商用製品「tcl dev kit」にはデバッガが付いています。ウィキでも議論されている他のデバッガー (無料のものとそれほど無料ではないもの) があります。
デバッグ機能を備えたNetbeans 用のTcl プラグインが追加されました。ここにいくつかのスクリーンショットがあります: http://wiki.tcl.tk/28657
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
}
}
ActiveState には、私が過去に使用した Tcl 開発キット (無料ではありませんが安価です) があります。組み込みの tcl インタープリターでも動作しました。