コール ツリー ビュー - プロファイラーの .NET メモリ サンプリング データ

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

[コール ツリー] ビューには、プロファイリングされるアプリケーションで走査された関数の実行パスが表示されます。 ツリーのルートは、アプリケーションまたはコンポーネントへのエントリ ポイントです。 各関数ノードは、呼び出したすべての関数と、その関数呼び出しに関する .NET メモリ割り当てデータを表示します。

コール ツリー ビュー内の値は、コール ツリー内の親関数から呼び出された関数のインスタンスに対応します。 割合の値を計算するには、関数インスタンスの値と、プロファイリング実行の割り当ての総数または合計サイズを比較します。

実行ホット パスの強調表示

コール ツリー ビューでは、最大または最多のメモリ オブジェクトを作成したプロセスまたは関数の実行パスを展開および強調表示できます。 最もアクティブなパスを表示するには、プロセスまたは関数を右クリックし、[ホット パスの展開] をクリックします。

コール ツリーのルート ノードの設定

プロファイリング実行の各プロセスは、ルート ノードとして表示されます。 コール ツリー ビューの開始ノードを別のノードに設定するには、開始ノードとして設定するノードを右クリックし、[ルートの設定] をクリックします。

ルート ノードを設定すると、選択したノードのサブツリーを除く他のすべてのエントリはビューから除外されます。 ルート ノードを表示していた元のノードに戻すことができます。[コール ツリー] ビューのウィンドウ内の任意の場所で右クリックし、[ルートのリセット] をクリックします。

説明
プロセス ID プロファイリング実行のプロセス ID (PID)。
プロセス名 プロセスの名前。
[モジュール名] 関数を含むモジュールの名前。
[モジュール パス] 関数を含むモジュールのパス。
[ソース ファイル] この関数の定義を含むソース ファイル。
[関数名] 関数の完全修飾名。
[関数行番号] ソース ファイルのこの関数の開始行番号。
[関数アドレス] 関数のアドレス。
Level コール ツリーにおける関数の深度。
[割り当て数 (子を含む)] コール ツリーの親関数から呼び出されたこの関数のインスタンスによって割り当てられたオブジェクト数。 この数値には、子関数による割り当てが含まれます。
[割り当て % (子を含む)] プロファイリング実行で作成されたすべてのオブジェクトに対する、この関数の包括的割り当てであったオブジェクトの割合。
[割り当て数 (関数のみ)] コール ツリーの親関数から呼び出されたこの関数のインスタンスによって割り当てられたオブジェクト数。 この数値には、子関数による割り当ては含まれません。
[割り当て % (関数のみ)] プロファイリング実行で作成されたすべてのオブジェクトに対する、コール ツリーの親関数から呼び出された関数インスタンスの排他的割り当てであったオブジェクトの割合。
[割り当てバイト数 (子を含む)] コール ツリーの親関数から呼び出されたこの関数のインスタンスによって割り当てられたメモリのバイト数。 この数値には、子関数による割り当てが含まれます。
[割り当てバイト数 % (子を含む)] プロファイリング実行で割り当てられたすべてのメモリのバイト数に対する、この関数の包括的割り当てであったバイト数の割合。
[割り当てバイト数 (関数のみ)] コール ツリーの親関数から呼び出されたこの関数のインスタンスによって割り当てられたメモリのバイト数。 この数値には、子関数による割り当ては含まれません。
[割り当てバイト数 % (関数のみ)] プロファイリング実行で割り当てられたすべてのメモリのバイト数に対する、この関数の排他的割り当てであったバイト数の割合。

参照

コール ツリー ビュー - インストルメンテーション
コール ツリー ビュー
コール ツリー ビュー