ブロック時間のプロファイル レポート

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

プロファイル レポートには、各ブロッキングのカテゴリ (「I\/O」や「同期」など) 固有の呼び出し履歴の集約のブロッキングの時刻のデータを提供します。 優先レポート一覧が占有するプロセス優先の数とともに現在のプロセス例にまとめます。 にブロッキングのプロファイル レポートを作成するには、ツールにより、API 呼び出しが妨げられることが収集され、呼び出し履歴のツリーに蓄積されます。 これらのレポートのデータは、現在の時間範囲、非表示のスレッド、および適用できる次の 2 種類のフィルターの影響を受ける:

  • [マイ コードのみ] が選択されている場合は、ユーザー コードが示されているスタック フレームと、さらにユーザー コードの 1 つ下の階層が表示されます。

  • 不要項目の非表示の値が設定されている場合、指定された頻度以下の照合されたスタックはスキップされます。

    ブロッキングの時間に該当するコード行を見つけるためにツリー エントリを展開します。 へ、ショートカット メニューで検索するには、エントリのソース行を [ソースの表示] をクリックします。 この 1 を、ショートカット メニューで行ったコード行を検索するには、[呼び出しサイトの表示] をクリックします。 1 回の呼び出しサイトを使用できる場合は、呼び出しサイトの強調表示されたコード行に接続されます。 複数の呼び出しサイトを使用できる場合は、コマンドは、エントリを選択し、強調表示された呼び出しサイトを見つけるに [ソースに移動] ボタンを選択するダイアログ ボックスを開きます。 通常は、インスタンス数が最も、ほとんどの時間、またはその両方を持つ呼び出しサイトのソース・コードを表示すると便利です。

ブロック時間レポートの列

各ブロック時間レポートに表示される列を次の表に示します。

列名 説明
名前 呼び出し履歴の各レベルの関数名。
インスタンス 表示されている期間のブロッキング呼び出しのインスタンスの数。
[包括的ブロック時間] このレベルの呼び出し履歴のツリーにまとめられたすべてのスタックに費やされた合計ブロッキングの時間。 包括数は、この関数の排他的ブロック時間と、すべての子ノードの排他的ブロック時間の合計です。
[排他的ブロック時間] 費やされた合計時間ブロッキングのこの関数が呼び出し履歴の最も低いレベルにある。 排他的ブロック時間の値が高い一意の呼び出し履歴エントリが、該当する関数である可能性があります。
[API\/待機カテゴリ] 呼び出し履歴の最も低いレベルにある関数についてだけ示されます。 ブロッキング呼び出しのシグネチャが認識される場合は、ブロッキング API の名前が示されます。 シグネチャが認識されない場合は、カーネルで報告される情報が示されます。
詳細 関数の完全修飾名。 これにより、使用できる場合に、行の数が含まれます。

同期

同期レポートには、同期でセグメント ブロックの原因となった呼び出しが表示されると共に、各呼び出し履歴のブロック時間の総計が表示されます。 詳細については、「同期時間」を参照してください。

Sleep

スリープ レポートには、スリープ時間に起因するブロック時間の原因となった呼び出しが表示されると共に、各呼び出し履歴のブロック時間の総計が表示されます。 詳細については、「スリープ時間」を参照してください。

入出力

I\/O レポートには、入出力でセグメント ブロックの原因となった呼び出しが表示されると共に、各呼び出し履歴のブロック時間の総計が表示されます。 詳細については、「I\/O 時間 (スレッド ビュー)」を参照してください。

メモリ管理

メモリ管理レポートには、メモリ管理操作でセグメント ブロックの原因となった呼び出しが表示されると共に、各呼び出し履歴のブロック時間の総計が表示されます。 詳細については、「メモリ管理時間」を参照してください。

優先

優先レポート リスト インスタンスの数とともに現在のプロセスを占有するプロセス。現在のプロセス内のスレッドを表示している、スレッドごとの優先のインスタンスの内訳をする特定のスレッドを表示する各プロセスを展開します。 このブロッキングのレポートには、プリエンプションはオペレーティング システムによってプロセスに一般的に適用されるため、コードの問題によって他に比べて、可能です。 詳細については、「優先時間」を参照してください。

UI 処理

UI 処理レポートには、UI 処理のセグメント ブロックの原因となった呼び出しが表示されると共に、各呼び出し履歴のブロック時間の総計が表示されます。 詳細については、「UI 処理時間」を参照してください。

参照

スレッド ビュー