各種のプロファイル方法を使用したコマンド ラインからのパフォーマンス データの収集
使用する Visual Studio プロファイリング ツールのコマンド ライン ツールおよびオプションは、プロファイル対象のアプリケーションの種類、使用するプロファイル方法、ターゲット アプリケーションが、ネイティブ コードと .NET Framework コードのどちらで記述されているかなどの要因によって決まります。
ここでは、コマンド ラインの手順について、使用するプロファイル方法ごとに説明します。
このトピックの内容
パフォーマンス統計情報を収集、サンプリング メソッドを使用する
詳細なタイミング データを収集インストルメンテーション メソッドを使用して
メモリの割り当ておよびオブジェクトの有効期間データを収集 .NET メモリ メソッドを使用する
リソースの競合およびスレッド アクティビティ データの収集に同時実行メソッドを使用して
プロファイリング実行に階層相互作用データの追加
パフォーマンス統計情報を収集、サンプリング メソッドを使用する
プロファイリング ツールのサンプリング メソッドでは、プロファイリングの実行中、指定した間隔でパフォーマンス データを収集します。サンプリング データは、CPU 制約によるパフォーマンス上の問題を把握するのに役立ち、アプリケーションのパフォーマンスを調べるための最初の方法として適しています。
プロファイラーとアプリケーションを同時に開始することも、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。
タスク |
ターゲット アプリケーションの種類 |
---|---|
アプリケーションを起動する |
|
実行中のプロセスにアタッチする |
詳細なタイミング データを収集インストルメンテーション メソッドを使用して
プロファイリング ツールのインストルメンテーション メソッドでは、パフォーマンス情報を記録するためのソフトウェア プローブを含むアプリケーション バイナリのコピーからパフォーマンス データを収集します。インストルメント化された各関数の開始時と終了時、およびインストルメント化された関数から他の関数を呼び出すたびに、インストルメンテーション データが収集されます。インストルメンテーション メソッドは、ディスクの使用率などの I/O の問題に関連するパフォーマンス上の問題を検出するのに役立ちます。
VInstr.exe ツールを使用すると、インストルメント化されたバイナリを作成できます。プロファイラーを初期化すると、ターゲット アプリケーションの実行時にインストルメント化されたバイナリからデータが自動的に収集されます。
ターゲット アプリケーションの種類
メモリの割り当ておよびオブジェクトの有効期間データを収集 .NET メモリ メソッドを使用する
プロファイリング ツールの .NET メモリ メソッドを使用すると、.NET Framework メモリの割り当ておよび .NET Framework のオブジェクトの有効期間に関する情報を収集できます。
プロファイラーを使用してターゲット アプリケーションを開始できるほか、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。.NET Framework メモリ データと共に詳細なタイミング情報を収集するためのインストルメント化された形式のアプリケーションを作成することもできます。
タスク |
ターゲット アプリケーションの種類 |
---|---|
アプリケーションを起動する |
|
実行中のプロセスにアタッチする |
|
モジュールをインストルメント化する |
リソースの競合およびスレッド アクティビティ データの収集に同時実行メソッドを使用して
プロファイリング ツールの同時実行メソッドを使用すると、マルチスレッド アプリケーションのリソースの競合およびスレッドとプロセスのアクティビティ データを収集できます。
プロファイラーを使用してアプリケーションを開始することも、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。
タスク |
ターゲット アプリケーションの種類 |
---|---|
アプリケーションを起動する |
|
実行中のプロセスにアタッチする |
プロファイリング実行に階層相互作用データの追加
プロファイリング実行に階層相互作用データを追加することは、コマンド ライン プロファイリング ツールで特定の手順が必要です。「コマンド ラインからの階層相互作用データの追加」を参照してください。
参照
概念
スタンドアロン アプリケーションのコマンド ラインによるプロファイリング