「デバッグ」ビューにおける典型的なターゲットは、次の図のように 表されます。

「デバッグ」ビューでは、プログラムのデバッグ・セッションを開始 するために使用される起動が、最上位のノード・レベルに 表示されます (図のポインター A.)。起動のすぐ下に、デバッグ・エンジンを 表すノードが表示されます (図のポインター B.)。その次に、プログラム内の各 スレッドが表示されます (図のポインター C.)。プログラム実行が停止すると、デフォルトでは、 停止するスレッドのノードが自動的に展開され、そのスタック・フレームが 表示されます (図のポインター D.)。他のスレッドを手動で展開すると、それらのスレッドは 次回にプログラムが中断したときに自動的に展開されます。最後に、デバッグされるプロセスおよび プログラムを表すノードが表示されます (図のポインター E.)。
プログラム実行が中断すると、選択したスタック・フレームのソースがエディターで表示されて、プログラムでこれから実行するソース行が強調表示されます。プログラム内に 多数のスレッドがある場合、停止を引き起こしたスレッドのスタックが、デバッグ・フレームの最後から スクロールオフすることがあります。
「デバッグ」ビューは、 デバッガー・デーモンを設定するためにも使用できます。これについて詳しくは、 デバッグ・エンジンの listen に関する関連トピックを参照してください。
「デバッグ」ビューで、以下の基本的なデバッグ・アクションを実行できます。
) をクリックするか、F8 を押します。
) を
クリックするか、Shift+F8 を押します。あるいは、終了するデバッグ・ターゲット (または、そのスレッドまたはスタックの 1 つ) を右クリックし、
終了アクションのうちの 1 つを選択します。
) をクリックします。このアクションは、
デバッグしているプログラムがどのように開始されたかによって、使用不可の場合があります。
)(Ctrl+F8) を使用して、そのアプリケーション (またはその中の個々のスレッド) を一時停止できます。
このアクションの使用時にプロセスを選択すると、プロセスのすべてのスレッドが停止します。デバッグ・エンジンで、個々のスレッドの中断と再開がサポートされる場合は、スレッドを選択すると、そのスレッドのみが停止します。このサポートは、バージョン 11.1 以降のデバッグ・エンジンを使用している場合にのみ使用可能です。
アプリケーション内のスレッドは、「再開」アクションを発行するまで中断されます。
中断アクションを発行すると、
デバッグ・エンジンは、デバッグしているプログラムに SIGSTOP を
送信します。中断は、実行しているが、ブレークポイントがヒットしないような、暴走 プロセス の場合に役立ちます。アプリケーションを中断することによって、 そのアプリケーションの制御を取り戻すことができます。プログラムを中断すると、そのプログラムはエディターの 「逆アセンブル」ビューで停止するのが普通です。
スレッドが中断されている場合は、ステップ関連のコントロールを使用して、プログラムの実行を 1 行ずつ ステップスルーできます。ステップ・オペレーション中にブレークポイントまたはイベントが 検出されると、実行はブレークポイントまたはイベントで中断し、ステップ・オペレーションは終了します。 ステップ・コマンドを使用すると、プログラムを一度に 1 命令または 1 ロケーションごとにステップスルーできます。
以下のステップ・コマンドを使用できます。
)(F6): ステップオーバーを発行すると、
プログラムは次のソース行に進みます。
)(F5): ステップインを発行すると、
プログラムは次のステートメントに進みます。現在行が別の関数の呼び出しを含んでいる場合、
デバッガーは、その関数で停止します。このコマンドの動作には、
「ステップ・フィルターの使用」アクション (
)(Shift+F5) が影響します。フィルターが
オフ (ボタンが選択されていない) の場合、デバッガーは、呼び出された関数で、その関数にデバッグ情報が含まれていなくても停止し、
逆アセンブルが表示されます。フィルターがオン (ボタンが選択されている) の場合、デバッガーは、
ソースが表示可能である場合のみ、呼び出された関数で停止します。ソースが表示可能でない場合、
デバッガーは、「ステップオーバー」が発行された場合と同じ動作をします。DER_DBG_
STEP_DEBUG デバッグ・エンジン環境変数によって、「ステップ・フィルターの使用」アクションの
動作が変わります。デバッグ・エンジン環境変数については、
関連トピックを参照してください。
)(F7): ステップ・リターンを発行すると、
プログラムは、呼び出し側プログラム内の、現在の関数への呼び出しの直後のポイントまで
実行します。
通常、呼び出し命令に続く場所で停止するようにします。
呼び出し側プログラムにデバッグ情報がある場合、これは、ソース行の中央です。