RamDebugger

RamDebuggerは、Tcl/TkのプログラムをデバッグするためのGUIデバッガです。
多機能ではないですが、デバッグに必要最小限の機能を持っています。
LinuxとWindowsのプラットホームで動作します。

インストールと起動

RamDebugger2.8.zipを解凍して、RamDebugger.tclを実行します。
実行するには、Tcl/Tk8.3以上が必要です。

画面

画面は、各ウィンドウはリサイズ可能なペインで切られたシンプルな構成になっています。
左にファイルブラウズ・ウィンドウ、右に変数ウィンドウ、真ん中にソースウィンドウ、下にスタックウィンドウがあります。
ソースウィンドウは編集ができます。フォント設定もできますが、デフォルトで日本語を表示できます。
RamDebuggerとTcl/TK等のオンライン・ヘルプも付いています。(これは英語ですが)

バルーンウォッチ付きソースウィンドウ

デバッグ機能

Debugメニューは以下の機能があります。

メニュー説明Functionキー
Continue/Go実行/継続実行F5
Set/unset breakpointブレークポイントの設定/削除F9
Nextプロシジャステップ実行F10
Stepステップイン実行F11
Continue toここまで実行Ctrl+F5
Expressions...エクスプレッション・ウィンドウ-
Breakpoints...ブレークポイント・ウィンドウAlt+F9
Timing control...時間測定ウィンドウ-

基本的な使い方は、ブレークポイントを設定して、そこまで実行またはステップして
変数の内容を確認する...を繰り返します。いわゆるデバッグです。
プログラムに誤りが見つかった場合は、直ちに修正します。
いわゆる統合開発環境(IDE)に近いです。

エクスプレッション・ウィンドウ

変数や式の評価ができます。

ブレークポイント・ウィンドウ

ブレークポイント一覧を見ることができます。

時間測定ウィンドウ

区間の時間測定ができます。ブロックを設定して、
Startボタンでプログラムを実行した後、Reportボタンで確認します。

ユーティリティ

UtilitiesメニューのWindows hierarchyはWidgetの階層情報を表示します。
ソース解析の手助けをしてくれます。

その他の外部ユーティリティとして、TkconとVisualRegexpを起動することができます。

Aboutダイアログ

HelpメニューのAboutで、RamDebuggerが使っているTcl拡張一覧が表示されます。
各Tcl拡張のライセンスと修正が入っているかの確認ができます。
ただし、このダイアログは少し変わっていて、Closeボタンを押そうとすると、
Closeボタンが逃げるので、押すのが大変です。ゲームの様です。
でもちゃんと押せると「Congratulations, you got it!!!」とほめてくれます。(^^;)

まとめ

今まで、デバッガというと有償のものばかりでしたが、RamDebuggerはフリーで使えます。
デバッグに必要最小限の機能を備え、GUIで直感的に操作できるので、
初級者から上級者の方にもおすすめしたいと思います。