ソースレベルデバッガ
Forth ソースレベルデバッガでは、Forth プログラムのステップ実行およびトレースが可能です。各実行ステップが 1 つの Forth ワードに対応します。
表 6-4 にこのデバッガのコマンドを示します。
表 6-4 Forth ソースレベルデバッガコマンド
コマンド
|
説明
|
c |
"Continue (継続)"。シングルステップ実行からトレースに切り替え、デバッグ中のワードの実行の残り部分をトレースします。
|
d |
"Down a level (1 レベルダウン)"。今表示された名前のワードをデバッグ対象としてマークし、次にそのワードを実行します。
|
f |
下位の Forth インタプリタを起動します。そのインタプリタを (resumeで) 終了させると、 F コマンドが実行されたところで制御がデバッガに戻ります。
|
q |
"Quit (終了)"。デバッグ中のワードとそのすべての呼び出し元の実行を強制終了させ、制御をコマンドインタプリタに戻します。
|
u |
"Up a level (1 レベルアップ)"。デバッグ中のワードからデバッグ対象のマークを取り消します。その呼び出し元をデバッグ対象としてマークし、それまでデバッグされていたワードの実行を終了します。
|
debug name |
指定された Forth ワードをデバッグ対象としてマークします。以降は、 name を実行しようとするたびに、必ず Forth ソースレベルデバッガを起動します。 debug の実行後は、 debug-off でデバッグがオフされるまではシステムの実行速度が落ちることがあります。("."などの基本 Forth ワードはデバッグしないでください。)
|
debug-off |
Forth ソースレベルデバッガをオフにします。以降、ワードのデバッグは行われません。
|
resume |
下位インタプリタを終了し、制御をデバッガのシングルステップ実行に戻します (この表の F コマンドを参照)。
|
stepping |
Forth ソースレベルデバッガを "シングルステップ (実行) モード" に設定し、デバッグ中のワードを 1 ステップずつ対話的に実行できるようにします。シングルステップモードはデフォルトです。
|
tracing |
Forth ソースレベルデバッガを "トレースモード" に設定します。このモードは、デバッグ中のワードの実行をトレースし、その間そのワードが呼び出す各ワードの名前とスタックの内容を表示します。
|
<space-bar> |
今表示されたワードを実行し、次のワードのデバッグに移ります。
|
すべての Forth ワードはそれぞれに、「コンポーネント」ワードと呼べる 1 つまたは複数の一連のワードとして定義されています。指定されたワードをデバッグしている間に、デバッガは、そのワードの各「コンポーネント」ワードを実行中にスタックの内容に関する情報を表示します。各コンポーネントワードを実行する直前に、デバッガはスタックの内容と、実行されようとしているコンポーネントワードの名前を表示します。
トレースモードでは、そのコンポーネントワードがそこで実行され、プロセスは次のコンポーネントワードに引き継がれます。
ステップモード (デフォルト) では、ユーザーがデバッガの実行動作を制御します。各コンポーネントワードの実行前に、ユーザーはプロンプトで 表 6-4にある 1 つのキー操作のどれかを求められます。