次の方法で共有


呼び出し階層の表示

コードの呼び出し階層を表示することで、選択したメソッド、プロパティ、またはコンストラクターに対するすべての呼び出し (場合によってはその呼び出しから) 間を移動できます。 これにより、コードがどのように流れるかを理解し、コードに対する変更の影響を評価することができます。 複数のレベルのコードを調べて、メソッド呼び出しの複雑なチェーンとコードへの追加のエントリ ポイントを表示できます。 これにより、使用可能なすべての実行パスを調べることができます。

Visual Studio では、デザイン時に呼び出し階層を表示できます。 つまり、ブレークポイントを設定し、デバッガーを起動してランタイム呼び出し履歴を表示する必要はありません。

[呼び出し階層] ウィンドウを使用する

[呼び出し階層] ウィンドウを表示するには、メソッド、プロパティ、またはコンストラクター呼び出しの名前をコード エディターで右クリックし、[呼び出し階層の表示] を選択します。

メンバー名は、[ 呼び出し階層 ] ウィンドウのツリー ビュー ウィンドウに表示されます。 メンバー ノード、メンバーへの呼び出し、および C++ の場合、メンバー名から呼び出しを展開すると、サブノードが表示されます。

C++ コードの場合、メンバーとの間で明示的な呼び出しを確認できます。

Visual Studio での C++ コードの呼び出し階層

C++ コードでは、コンストラクターや型変換メソッドなど、メンバー関数を暗黙的に呼び出すことができます。これらの暗黙的な呼び出しは、必ずしもリストに含まれるとは限りません。

C# および Visual Basic コードの場合、メンバーへの呼び出しは表示できますが、次からの呼び出しは表示されません。

Visual Studio での C# コードの呼び出し階層

  • [ 呼び出し対象 ] ノードを展開すると、選択したメンバーを呼び出すすべてのメンバーが表示されます。

  • C++ の場合、[ 呼び出しからの呼び出し ] ノードを展開すると、選択したメンバーによって (明示的に) 呼び出されたすべてのメンバーが表示されます。

その後、各呼び出し元メンバーを展開して、 呼び出し元ノードと C++ の 呼び出し元 ノードを表示できます。 これにより、次の図に示すように、呼び出し元のスタックに移動できます。

複数のレベルが展開された [呼び出し階層] ウィンドウ

仮想または抽象として定義されているメンバーの場合は、 Overrides メソッド名 ノードが表示されます。 インターフェイス メンバーの場合、 Implements メソッド名 ノードが表示されます。 これらの展開可能なノードは、[ 呼び出し ] ノードと [ 呼び出し] ノードと同じレベルで表示されます。

ツール バーの [検索範囲 ] ボックスには、[ マイ ソリューション]、[ 現在のプロジェクト]、[ 現在のドキュメント] の選択肢があります。

[呼び出し階層] ツリー ビュー ペインで子メンバーを選択する場合:

  • [呼び出し階層の詳細] ウィンドウには、その子メンバーが親メンバーから呼び出されるコードのすべての行が表示されます。

  • [ コード定義] ウィンドウが開いている場合は、選択したメンバーのコードが表示されます (C++ のみ)。 このウィンドウの詳細については、「 コードの構造を表示する」を参照してください。

呼び出し階層機能では、メソッド グループ参照が見つかりません。これには、メソッドがイベント ハンドラーとして追加されるか、デリゲートに割り当てられる場所が含まれます。 メソッドへのすべての参照を検索するには、[ すべての参照の検索 ] コマンドを使用します。

ショートカット メニュー項目

次の表では、ツリー ビュー ペインでノードを右クリックしたときに使用できるいくつかのショートカット メニュー オプションについて説明します。

コンテキスト メニュー項目 説明
新しいルートとして追加 選択したノードを新しいルート ノードとしてツリー ビュー ペインに追加します。 これにより、特定のサブツリーに注目することができます。
ルートの削除 選択したルート ノードをツリー ビュー ペインから削除します。 このオプションは、ルート ノードからのみ使用できます。

[ ルートの削除 ] ツール バー ボタンを使用して、選択したルート ノードを削除することもできます。
定義に移動 選択したノードで [定義へ移動] コマンドを実行します。 これにより、メンバー呼び出しまたは変数定義の元の定義に移動します。

[定義へ移動]コマンドを実行するには、選択したノードをダブルクリックするか、選択したノードで F12 キーを押します。
すべての参照を検索する 選択したノードで [すべての参照の検索] コマンドを実行します。 これにより、クラスまたはメンバーを参照するプロジェクト内のすべてのコード行が検索されます。

Shift + F12 キーを押して、選択したノードで [すべての参照の検索] コマンドを実行することもできます。
コピー 選択したノードの内容をコピーします (サブノードはコピーしません)。
更新 選択したノードを折りたたんで、再展開すると現在の情報が表示されます。