デバッガーで呼び出し履歴を表示し、[呼び出し履歴] ウィンドウを使用する

[呼び出し履歴] ウィンドウを使用すると、現在呼び出し履歴にある関数呼び出しやプロシージャ呼び出しを表示できます。 [呼び出し履歴] ウィンドウには、メソッドおよび関数が呼び出されている順番が表示されます。 呼び出し履歴は、アプリの実行フローを調査して理解するのに優れた方法です。

デバッグ シンボルが呼び出し履歴の一部で使用できない場合、 [呼び出し履歴] ウィンドウでは、呼び出し履歴のその部分の正しい情報が表示できずに、代わりに次が表示されることがあります。

[Frames below may be incorrect and/or missing, no symbols loaded for name.dll]

注意

[呼び出し履歴] ウィンドウは、Eclipse のような一部の IDE におけるデバッグ パースペクティブに似ています。

注意

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ここで説明する内容と異なる場合があります。 設定を変更するには、 [ツール] メニューの [設定のインポートとエクスポート] をクリックします。 「リセット設定」を参照してください。

デバッガーで呼び出し履歴を表示する

  • デバッグ中に、 [デバッグ] メニューで、 [ウィンドウ] >[呼び出し履歴] を選択します。

    [呼び出し履歴] ウィンドウ

黄色の矢印は、現在、実行ポインターが存在するスタック フレームを示します。 既定では、このスタック フレームの情報が、ソース、 [ローカル][自動変数][ウォッチ][逆アセンブル] の各ウィンドウに表示されます。 デバッガー コンテキストをスタック上の別のフレームに変更するには、別のスタック フレームに切り替えます

[呼び出し履歴] ウィンドウで非ユーザー コードを表示する

  • [呼び出し履歴] ウィンドウを右クリックし、 [外部コードの表示] をクリックします。

非ユーザー コードは、[マイ コードのみ] が有効になっていると表示されないコードのことです。 マネージド コードでは、非ユーザー コード フレームは既定で非表示になっています。 非ユーザー コード フレームの代わりに、次の表記が表示されます。

[<External Code>]

別のスタック フレームに切り替える (デバッガー コンテキストを変更する)

  1. [呼び出し履歴] ウィンドウで、表示するコードやデータがあるスタック フレームを右クリックします。

    または、 [呼び出し履歴] ウィンドウ内のフレームをダブルクリックして、そのフレームに切り替えることもできます。

  2. [フレームに切り替え] をクリックします。

    巻いた尾の付いた緑色の矢印が、選択したスタック フレームの横に表示されます。 実行ポインターは、黄色の矢印でマークされた元のフレームに置かれたままです。 [デバッグ] メニューの [ステップ] または [続行] をクリックすると、選択したフレームではなく、元のフレームで実行が継続されます。

呼び出し履歴上の関数のソース コードを表示する

  • [呼び出し履歴] ウィンドウで、ソース コードを表示する関数を右クリックし、 [ソース コードへ移動] をクリックします。

[呼び出し履歴] ウィンドウで特定の関数までを実行する

  • [呼び出し履歴] ウィンドウで、関数を選択して右クリックし、 [カーソル行の前まで実行] を選択します。

関数呼び出しの終了ポイントにブレークポイントを設定する

別のスレッドとの間の呼び出しを表示する

  • [呼び出し履歴] ウィンドウを右クリックし、 [他のスレッドの呼び出しを含む] をクリックします。

呼び出し履歴を視覚的にトレースする

Visual Studio Enterprise で (のみ)、デバッグ中に呼び出し履歴のコード マップを表示できます。

コード マップの呼び出し履歴を表示する

呼び出し履歴上の関数の逆アセンブリ コードを表示する (C#、C++、Visual Basic、F#)

  • [呼び出し履歴] ウィンドウで、逆アセンブリ コードを表示する関数を右クリックし、 [逆アセンブルを表示] をクリックします。

表示されるオプション情報を変更する

  • [呼び出し履歴] ウィンドウで右クリックし、 [<the information that you want> の表示] をクリックします。

モジュールのシンボルを読み込む (C#、C++、Visual Basic、F#)

[呼び出し履歴] ウィンドウで、シンボルがまだ読み込まれていないコードに対してデバッグ シンボルを読み込むことができます。 これらのシンボルには、Microsoft のパブリック シンボル サーバーからダウンロードされる .NET シンボルやシステム シンボル、または、デバッグしているコンピューター上のシンボル パス内のシンボルを指定できます。

シンボル (.pdb) ファイルとソース ファイルの指定に関する記事をご覧ください。

シンボルを読み込むには

  1. [呼び出し履歴] ウィンドウで、シンボルが読み込まれていないスタック フレームを右クリックします。 フレームが淡色表示されます。

  2. [シンボルの読み込み] をポイントし、 [Microsoft シンボル サーバー] を選択 (使用可能な場合) するか、シンボル パスを参照します。

シンボル パスを設定するには

  1. [呼び出し履歴] ウィンドウで、ショートカット メニューの [シンボルの設定] をクリックします。

    [オプション] ダイアログ ボックスが表示され、 [シンボル] ページが表示されます。

  2. [シンボルの設定] を選択します。

  3. [オプション] ダイアログ ボックスで、フォルダー アイコンをクリックします。

    [シンボル ファイル (.pdb) の場所] ボックスにカーソルが表示されます。

  4. デバッグしているコンピューター上のシンボルの場所へのディレクトリ パス名を入力します。 ローカル デバッグおよびリモート デバッグの場合、これはローカル コンピューター上のパスです。

  5. [OK] を選択して、 [オプション] ダイアログ ボックスを閉じます。

関連項目