現在のセッションで作成したスレッドは、すべて「スレッド」ウィンドウに表示されます。「スレッド」ウィンドウを開くには、「ウィンドウ」>「デバッグ」>「スレッド」(Alt-Shift-7) を選択します。
常に 1 つのスレッドのみが、現在のスレッドになります。デフォルトでは、現在のセッション内でデバッガが制御を取得したスレッドが現在のスレッドです。デバッグするスレッドを切り替えると、「呼び出しスタック」ウィンドウと「局所変数」ウィンドウが自動的に更新され、そのスレッドに適切なデータが反映されます。
現在のスレッドを変更する
スレッドに問題があると思われる場合は、そのスレッドの実行を中断し、問題を解決してから実行を再開することができます。
「スレッド」ウィンドウでは、スレッド名の左側のアイコンで、そのスレッドが中断中または再開待ちのどちらであるかが分かります。
| アイコン | 説明 |
|---|---|
![]() |
現在のスレッドを示します。 |
![]() |
現在のスレッドではない、実行中のスレッドを示します。 |
![]() |
現在のスレッドではない、中断中のスレッドを示します。 |
列ボタン (
) をクリックして「中断」チェックボックスを選択し、「スレッド」ウィンドウに「中断」プロパティーを boolean 型フラグ (True または False) として表示することもできます。
スレッドを中断または再開する
マルチスレッドのアプリケーションをデバッグするとき、特定のスレッドのステップが、ほかのスレッドで発生したブレークポイントによって中断されることがあります。この動作は、場合によっては望ましいこともありますが、そうでない場合もあります。
たとえば、スレッド (スレッド 1) をステップ実行しているときに、ステップの 1 つが別のスレッド (スレッド 2) 内で発生したブレークポイントによって中断されたとします。これが発生すると、スレッド 2 のブレークポイントにプログラムカウンタが設定されます。
次の方法で、プログラムのステップ実行を継続できます。
スレッド 1 のステップから続行するには、「スレッド」ウィンドウで、次のいずれかの操作を実行します。
スレッドが問題の原因であると思われ、さらに調べる必要がある場合は、IDE のソースエディタでスレッドのソースコードを表示できます。
スレッドのソースコードを表示する
スレッドのソースがある場合、ソースエディタは、そのスレッドの呼び出しスタック上の現在の呼び出しにジャンプします。