呼び出し元/呼び出し先ビュー - プロファイラーの .NET メモリ インストルメンテーション データ

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

インストルメンテーション メソッドを使用して収集された .NET メモリ プロファイル データの呼び出し元\/呼び出し先ビューには、選択した関数およびその関数の親関数と子関数の割り当ておよびタイミング データが表示されます。 呼び出し元\/呼び出し先ビューには、次の 3 つのグリッドがあります。

[現在の関数] は中央のグリッドに表示されます。このグリッドには、選択した関数に関するメモリ プロファイル情報が表示されます。 値には関数のすべてのサンプル呼び出しが含まれます。

[現在の関数を呼び出した関数] は最上部のグリッドに表示されます。このグリッドには、呼び出し元 (親) 関数からの呼び出しによって生成された、選択した (現在の) 関数の値の量が表示されます。

[現在の関数によって呼び出された関数] は、下部のグリッドに表示されます。このグリッドには、子関数が現在の関数によって呼び出されたときに、選択した関数の呼び出し先 (子) 関数に関するメモリ プロファイル データが表示されます。

呼び出し元または呼び出し先の関数行をダブルクリックすると、その行が現在の関数になります。

一般

説明
[関数名] 関数の名前。
[関数アドレス] 関数のアドレス。
[関数行番号] ソース ファイルのこの関数の開始行番号。
[呼び出し数] この関数への呼び出しの総数。
[ソース ファイル] この関数の定義を含むソース ファイル。
[モジュール名] 関数を含むモジュールの名前。
[モジュール パス] 関数を含むモジュールのパス。
プロセス ID プロファイリング実行のプロセス ID。
プロセス名 プロセスに割り当てられた名前。
[プローブ オーバーヘッド時間 (関数のみ)] インストルメンテーションによって発生したこの関数のオーバーヘッド時間。 プローブ オーバーヘッドはすべての排他時間から減算されています。
[プローブ オーバーヘッド時間 (子を含む)] インストルメンテーションによって発生したこの関数とその子関数のオーバーヘッド時間。 プローブ オーバーヘッドはすべての包括時間から減算されています。
関数のコンテキスト:

0 - 現在の関数

1 - 現在の関数を呼び出す関数

2 - 現在の関数で呼び出される関数

VSPerfReport コマンド ライン レポートでのみ有効です。
ルート関数名 現在の関数の名前。 VSPerfReport コマンド ライン レポートでのみ有効です。

.NET メモリの割り当て値

説明
[割り当て数 (関数のみ)] - 現在の関数の場合、関数が関数本体のコードを実行していたとき (つまり呼び出し履歴の最上位に存在していたとき) に作成されたオブジェクトの数。 この数値には、この関数によって呼び出された関数で作成されたオブジェクトは含まれません。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数の排他的割り当ての数。
- 呼び出し先関数の場合、現在の関数で呼び出されたこの関数のインスタンスによって作成されたオブジェクトの数。 この数値には、この呼び出し先関数によって呼び出された関数で作成されたオブジェクトは含まれません。
[割り当て % (関数のみ)] プロファイリング実行で作成されたすべてのオブジェクトに対する、この関数の排他的割り当てであったオブジェクトの割合。
[割り当て数 (子を含む)] - 現在の関数の場合、プロファイリング実行で関数によって割り当てられたオブジェクトの数。 この数値には、この関数によって呼び出された呼び出し先関数で作成されたオブジェクトが含まれます。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数の包括的割り当ての数。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数のインスタンスで割り当てられたオブジェクトの数。 この数値には、この呼び出し先関数によって呼び出された関数で行われた割り当てが含まれます。
[割り当て % (子を含む)] プロファイリング実行で作成されたすべてのオブジェクトに対する、この関数の包括的割り当てであったオブジェクトの割合。
[割り当てバイト数 (関数のみ)] - 現在の関数の場合、プロファイリング実行で関数によって割り当てられたメモリのバイト数。 この数値には、現在の関数によって呼び出された呼び出し先関数で割り当てられたメモリは含まれません。
- 呼び出し元関数の場合、この呼び出し先関数からの呼び出しによって生成された現在の関数の排他バイト数。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数のインスタンスで割り当てられたバイト数。 この数値には、呼び出し先関数によって呼び出された関数で割り当てられたバイト数は含まれません。
[割り当てバイト数 % (関数のみ)] プロファイリング実行で割り当てられたすべてのメモリのバイト数に対する、この関数の排他的割り当てであったバイト数の割合。
[割り当てバイト数 (子を含む)] - 現在の関数の場合、プロファイリング実行で関数によって割り当てられたメモリのバイト数。 この数値には、現在の関数によって呼び出された呼び出し先関数で割り当てられたメモリが含まれます。
- 呼び出し元関数の場合、この呼び出し先関数からの呼び出しによって生成された現在の関数のインスタンスの包括バイト数。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数のインスタンスで割り当てられたバイト数。 この数値には、この呼び出し先関数によって呼び出された関数で割り当てられたバイト数が含まれます。
[割り当てバイト数 % (子を含む)] プロファイリング実行で割り当てられたすべてのメモリのバイト数に対する、この関数の包括的割り当てであったバイト数の割合。

包括経過値

包括経過値は、関数が呼び出し履歴に存在していた時間を示します。 この時間には、子関数とオペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間が含まれます。

説明
[経過時間 (子を含む)] - 現在の関数の場合、その関数で費やされた時間。 この値には、子関数とオペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間が含まれます。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数の包括経過時間の量。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数で費やされた時間。 この値には、子関数とオペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間が含まれます。
[包括経過時間 %] プロファイリング実行の包括経過時間の合計に対する、このコンテキストのこの関数に費やされた包括経過時間の割合。
[平均経過時間 (子を含む)] このコンテキストのこの関数の呼び出しの平均包括経過時間。
[最大経過時間 (子を含む)] このコンテキストのこの関数の呼び出しの最大包括経過時間。
[最小経過時間 (子を含む)] このコンテキストのこの関数の呼び出しの最小包括経過時間。

排他経過値

排他経過値は、関数が呼び出し履歴の最上位で直接実行されていた時間を示します。 この時間には、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間が含まれますが、子関数で費やされた時間は含まれません。

説明
[経過時間 (関数のみ)] - 現在の関数の場合、その関数本体の実行で費やされた時間。 この値には、子関数で費やされた時間は含まれませんが、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間は含まれます。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数の排他経過時間の量。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数で費やされた時間。 この値には、呼び出し先関数の子関数で費やされた時間は含まれませんが、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間は含まれます。
[排他経過時間 %] プロファイリング実行の排他経過時間の合計に対する、このコンテキストのこの関数に費やされた排他経過時間の合計の割合。
[平均経過時間 (関数のみ)] このコンテキストのこの関数の呼び出しの平均排他経過時間。
[最大経過時間 (関数のみ)] このコンテキストのこの関数の呼び出しの最大排他経過時間。
[最小経過時間 (関数のみ)] このコンテキストのこの関数の呼び出しの最小排他経過時間。

アプリケーション包括値

アプリケーション包括値は、関数が呼び出し履歴に存在していた時間を示します。 この時間には、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間は含まれませんが、子関数で費やされた時間は含まれます。

説明
[アプリケーション時間 (子を含む)] - 現在の関数の場合、その関数と子関数で費やされた時間。 この値には、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間は含まれません。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数のアプリケーション包括時間の量。
- 呼び出し先関数の場合、この関数および現在の関数からの呼び出しによって生成されたその子関数で費やされた時間。 この値には、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間は含まれません。
[アプリケーション包括時間 %] プロファイリング実行の包括経過時間の合計に対する、このコンテキストのこの関数のアプリケーション包括時間の合計の割合。
[平均アプリケーション時間 (子を含む)] このコンテキストのこの関数の呼び出しの平均アプリケーション包括時間。
[最大アプリケーション時間 (子を含む)] このコンテキストのこの関数の呼び出しの最大アプリケーション包括時間。
[最小アプリケーション時間 (子を含む)] このコンテキストのこの関数の呼び出しの最小アプリケーション包括時間。

アプリケーション排他値

アプリケーション排他値は、関数で費やされた時間を示しますが、子関数で費やされた時間は含まれません。 また、オペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) で費やされた時間も含まれません。

説明
[アプリケーション時間 (関数のみ)] - 現在の関数の場合、その関数本体の実行で費やされた時間。 この値には、子関数で費やされた時間およびオペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) は含まれません。
- 呼び出し元関数の場合、この呼び出し元関数からの呼び出しによって生成された現在の関数のアプリケーション排他時間の量。
- 呼び出し先関数の場合、現在の関数からの呼び出しによって生成されたこの関数で費やされた時間。 この値には、呼び出し先関数の子関数で費やされた時間およびオペレーティング システムの呼び出し (コンテキストの切り替え、入出力操作など) は含まれません。
[アプリケーション排他時間 %] プロファイリング実行の排他経過時間の合計に対する、このコンテキストのこの関数のアプリケーション排他時間の合計の割合。
[平均アプリケーション時間 (関数のみ)] このコンテキストのこの関数の呼び出しの平均アプリケーション排他時間。
[最大アプリケーション時間 (関数のみ)] このコンテキストのこの関数の呼び出しの最大アプリケーション排他時間。
[最小アプリケーション時間 (関数のみ)] このコンテキストのこの関数の呼び出しの最小アプリケーション排他時間。

参照

方法: レポート ビューの列をカスタマイズする
呼び出し元\/呼び出し先ビュー - サンプリング
呼び出し元\/呼び出し先ビュー
呼び出し元\/呼び出し先ビュー