.NET メモリの割り当てビュー

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

割り当てビューには、プロファイリング実行で作成された型が一覧表示されます。 それぞれの型が、その型を割り当てることになった関数の実行パスを表示するコール ツリーのルート ノードです。

型行のデータには、プロファイリング実行で作成された型のオブジェクトの合計数、およびその型のオブジェクトに対して割り当てられた合計バイト数が表示されます。 型の包括値と排他値は常に同じです。

  • 包括値は、コール ツリーの親関数によって呼び出された関数とその子関数のインスタンスで作成されたオブジェクトの値です。

  • 排他値は、親関数によって呼び出された関数によって直接作成されたオブジェクトの値です。 子関数で作成されたオブジェクトは含まれません。

    関数のデータには、作成されたオブジェクトの数、および親の型のオブジェクトに対して割り当てられたバイト数が表示されます。

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

親の型のほとんどのオブジェクトを作成したコール ツリーの実行パスを検索できます。

  • 最もアクティブなパスを表示するには、型または関数を右クリックし、[ホット パスの展開] をクリックします。
説明
名前 割り当てられた型または関数の名前。
プロセス ID プロファイリング実行のプロセス ID (PID)。
プロセス名 プロセスの名前。
[モジュール名] 型または関数を含むモジュールの名前。
[モジュール パス] 型または関数を含むモジュールのパス。
[ソース ファイル] 型または関数の定義を含むソース ファイル。
[関数行番号] ソース ファイルのこの型定義または関数の開始行番号。
Level データが型または関数のどちらに対するものかを示します。
[割り当て数 (子を含む)] - 関数の場合、その関数によって作成された親の型のオブジェクトの合計数。 この数値には、子関数で作成されたオブジェクトが含まれます。
- 型の場合、作成されたその型のインスタンスの合計数。
[割り当て % (子を含む)] - 関数の場合、プロファイリング実行で作成されたすべてのオブジェクトに対する、その関数による親の型の包括的割り当てであったオブジェクトの割合。
- 型の場合、プロファイリング実行で作成されたオブジェクトの合計数に対する、型のインスタンスであったオブジェクトの割合。
[割り当て数 (関数のみ)] - 関数の場合、関数が呼び出し履歴の最上位で直接実行されていたときに作成されたオブジェクトの数。 この数値には、子関数で作成されたオブジェクトは含まれません。
- 型の場合、作成されたその型のインスタンスの合計数。
[割り当て % (関数のみ)] - 関数の場合、プロファイリング実行で作成されたすべてのオブジェクトに対する、その関数による親の型の排他的割り当てであったオブジェクトの割合。
- 型の場合、プロファイリング実行で作成されたオブジェクトの合計数に対する、型のインスタンスであったオブジェクトの割合。
[割り当てバイト数 (子を含む)] - 関数の場合、親の型のオブジェクトに対して関数によって割り当てられたメモリのバイト数。 この数値には、その子関数によって割り当てられたメモリが含まれます。
- 型の場合、型のインスタンスに対してプロファイリング実行で割り当てられた合計バイト数。
[割り当てバイト数 % (子を含む)] - 関数の場合、プロファイリング実行で割り当てれたすべてのメモリに対する、関数による親の型の包括的割り当てであった割合。
- 型の場合、プロファイリング実行で割り当てられたすべてのメモリに対する、型のインスタンスに対して割り当てられたメモリの割合。
[割り当てバイト数 (関数のみ)] - 関数の場合、親の型のオブジェクトに対して関数によって割り当てられたメモリのバイト数。 この数値には、その子関数によって割り当てられたメモリは含まれません。
- 型の場合、型のインスタンスに対してプロファイリング実行で割り当てられた合計バイト数。
[割り当てバイト数 % (関数のみ)] - 関数の場合、プロファイリング実行で割り当てれたすべてのメモリに対する、関数による親の型の排他的割り当てであった割合。
- 型の場合、プロファイリング実行で割り当てられたすべてのメモリに対する、型のインスタンスに対して割り当てられたメモリの割合。