デバッグセッションでは、現在のスレッドの呼び出しスタックを、デバッグセッションの開始時に自動的に開く「デバッグ」ウィンドウで確認できます。現在のスレッドのノードを展開すると、スレッドの実行中に作成された、一連の呼び出しのリストを確認できます。
各呼び出し (アイコンでマーク付けされている) の情報には、呼び出しの名前のあとに、呼び出しの現在実行中の文のファイル名と行番号が含まれています。ソースを使用できる場合、呼び出しを右クリックして「ソースへ移動」を選択し、呼び出しのソースコードに移動できます。
または、「ウィンドウ」>「デバッグ」>「呼び出しスタック」(Alt-Shift-3) を選択し、「呼び出しスタック」ウィンドウを開くこともできます。
ボールドで示される現在の呼び出しは、現在のスレッドで実行された最新の呼び出しです。現在のスレッドとして別のスレッドを選択すると、ウィンドウが更新され、そのスレッドの呼び出しが表示されます。また、「局所変数」ウィンドウも更新され、現在の呼び出しの変数の値が表示されます。
呼び出しスタックを参照するには、次のいずれかを行います。
呼び出しを右クリックし、ポップアップメニューから「スタックをコピー」を選択すると、呼び出しスタックのテキスト表現を取得できます。呼び出しスタックをコピーすると、そのテキストはクリップボードにコピーされます。これで、この呼び出しスタックをテキストファイルにペーストできます。
スタックに含まれる以前の呼び出しを、次に実行する文にして、プログラムの実行を変更することができます。一般に、呼び出しスタックから呼び出しをポップ (削除) しても、呼び出しによる影響は元に戻りません。たとえば、データベース接続を開いた呼び出しを削除しても、データベース接続は開いたままになります。
呼び出しスタックから最新の呼び出しをポップする
呼び出しスタックから呼び出しが削除されます。プログラムカウンタは、削除した呼び出しを行なった命令の前の行に移動します。ソースコードを使用できる場合は、ソースエディタのフォーカスがその行に設定されます。プログラムの実行を続行すると、その呼び出しが繰り返されます。
呼び出しスタックから複数の呼び出しをポップする
その呼び出しより上にある呼び出しは、すべて呼び出しスタックから削除されます。プログラムカウンタは、削除した呼び出しを行なった命令の前の行に移動します。ソースコードを使用できる場合、プログラムカウンタがその行に移動します。プログラムの実行を続行すると、その呼び出しが繰り返されます。