各種のプロファイル方法を使用したコマンド ラインからのパフォーマンス データの収集Using Profiling Methods to Collect Performance Data from the Command Line

使用する Visual StudioVisual Studio プロファイリング ツールのコマンド ライン ツールおよびオプションは、プロファイル対象のアプリケーションの種類、使用するプロファイル方法、ターゲット アプリケーションが、ネイティブ コードと .NET Framework.NET Framework コードのどちらで記述されているかなどの要因によって決まります。Your choice of Visual StudioVisual Studio Profiling Tools command-line tools and options depends on factors such as the type of application that you are profiling, the profiling method that you want to use, and whether the target application is written in native or .NET Framework.NET Framework code.

このトピックでは、コマンド ラインの手順について、使用するプロファイル方法ごとに説明します。This topic organizes the command-line procedural topics according to the profiling method that you choose.

このトピックの内容In this topic

サンプリング メソッドを使用してパフォーマンス統計情報を収集するUsing the sampling method to collect performance statistics

インストルメンテーション メソッドを使用して詳しいタイミング データを収集するUsing the instrumentation method to collect detailed timing data

.NET メモリ メソッドを使用してメモリの割り当てとオブジェクトの有効期間のデータを収集するUsing .NET memory methods to collect memory allocation and object lifetime data

同時実行メソッドを使用してリソースの競合およびスレッド アクティビティのデータを収集するUsing the concurrency method to collect resource contention and thread activity data

プロファイリングの実行に階層の相互作用データを追加するAdding tier interaction data to a profiling run

サンプリング メソッドを使用してパフォーマンス統計情報を収集するUsing the sampling method to collect performance statistics

プロファイリング ツールのサンプリング メソッドでは、プロファイリングの実行中、指定した間隔でパフォーマンス データを収集します。The Profiling Tools sampling method collects performance data at specified intervals in a profiling run. サンプリング データは、CPU 制約によるパフォーマンス上の問題を把握するのに役立ち、アプリケーションのパフォーマンスを調べるための最初の方法として適しています。Sampling data can provide insights into CPU-bound performance issues, and it can be a good way to start exploring the performance of an application.

プロファイラーとアプリケーションを同時に開始することも、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。You can start the profiler and the application at the same time, or you can attach the profiler to a running instance of an application.

タスクTask ターゲット アプリケーションの種類Target application type
アプリケーションを起動するLaunch an application - スタンドアロン アプリケーション- Stand-Alone Applications
実行中のプロセスにアタッチするAttach to a running process - スタンドアロンの .NET Framework アプリケーション- .NET Framework Stand-Alone Applications
- スタンドアロンのネイティブ アプリケーション- Native Stand-Alone Applications
- ASP.NET Web アプリケーション- ASP.NET Web Applications
- .NET サービス- .NET Services
- ネイティブ サービス- Native Services

インストルメンテーション メソッドを使用して詳しいタイミング データを収集するUsing the instrumentation method to collect detailed timing data

プロファイリング ツールのインストルメンテーション メソッドでは、パフォーマンス情報を記録するためのソフトウェア プローブを含むアプリケーション バイナリのコピーからパフォーマンス データを収集します。The Profiling Tools instrumentation method collects performance data from copies of application binaries that contain software probes to record performance information. インストルメント化された各関数の開始時と終了時、およびインストルメント化された関数から他の関数を呼び出すたびに、インストルメンテーション データが収集されます。Instrumentation data is collected at the start and end of each instrumented function and at every call to other functions from the instrumented function. インストルメンテーション メソッドは、ディスクの使用率などの I/O の問題に関連するパフォーマンス上の問題を検出するのに役立ちます。The instrumentation method is useful for discovering performance issues with I/O issues such as disk usage.

VInstr.exe ツールを使用すると、インストルメント化されたバイナリを作成できます。You create the instrumented binary with the VInstr.exe tool. プロファイラーを初期化すると、ターゲット アプリケーションの実行時にインストルメント化されたバイナリからデータが自動的に収集されます。After you initialize the profiler, data is automatically collected from the instrumented binaries when you run the target application.

ターゲット アプリケーションの種類Target Application Type

.NET メモリ メソッドを使用してメモリの割り当てとオブジェクトの有効期間のデータを収集するUsing .NET memory methods to collect memory allocation and object lifetime data

プロファイリング ツールの .NET メモリ メソッドを使用すると、.NET Framework.NET Framework メモリの割り当てデータおよび .NET Framework.NET Framework のオブジェクトの有効期間に関する情報を収集できます。The Profiling Tools .NET memory method enables you to collect .NET Framework.NET Framework memory allocation data and information about the lifetime of objects in the .NET Framework.NET Framework.

プロファイラーを使用してターゲット アプリケーションを開始できるほか、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。また、.NET Framework.NET Framework メモリ データと共に詳しいタイミング情報を収集するためのインストルメント化されたバージョンのアプリケーションを作成することもできます。You can start the target application by using the profiler; you can attach the profiler to a running instance of an application; and you can create instrumented versions of the application to collect detailed timing information together with the .NET Framework.NET Framework memory data.

タスクTask ターゲット アプリケーションの種類Target application type
アプリケーションを起動するLaunch an application - スタンドアロンの .NET Framework アプリケーション- Stand-Alone .NET Framework Applications
実行中のプロセスにアタッチするAttach to a running process - スタンドアロンの .NET Framework アプリケーション- .NET Framework Stand-Alone Applications
- ASP.NET Web アプリケーション- ASP.NET Web Applications
- .NET サービス- .NET Services
モジュールをインストルメント化するInstrument modules - スタンドアロンの .NET Framework コンポーネント- .NET Framework Stand-Alone Components
- 静的にコンパイルされた ASP.NET Web アプリケーション- Statically Compiled ASP.NET Web Applications
- 動的にコンパイルされた ASP.NET Web アプリケーション- Dynamically Compiled ASP.NET Web Applications
- .NET サービス- .NET Services

同時実行メソッドを使用してリソースの競合およびスレッド アクティビティのデータを収集するUsing the concurrency method to collect resource contention and thread activity data

プロファイリング ツールの同時実行メソッドを使用すると、マルチスレッド アプリケーションのリソースの競合およびスレッドとプロセスのアクティビティ データを収集できます。The Profiling Tools concurrency method enables you to collect resource contention and thread and process activity data from multithreaded applications.

プロファイラーを使用してアプリケーションを開始することも、実行中のアプリケーションのインスタンスにプロファイラーをアタッチすることもできます。You can start the application by using the profiler, or you can attach the profiler to a running instance of an application.

タスクTask ターゲット アプリケーションの種類Target application type
アプリケーションを起動するLaunch an application - スタンドアロンの .NET Framework アプリケーション- Stand-Alone .NET Framework Application
- スタンドアロンのネイティブ アプリケーション- Stand-Alone Native Application
実行中のプロセスにアタッチするAttach to a running process - スタンドアロンの .NET Framework アプリケーション- .NET Framework Stand-Alone Application
- スタンドアロンのネイティブ アプリケーション- Native Stand-Alone Application
- ASP.NET Web アプリケーション- ASP.NET Web Application
- .NET サービス- .NET Service
- ネイティブ サービス- Native Service

プロファイリングの実行に階層の相互作用データを追加するAdding tier interaction data to a profiling run

プロファイリングの実行に階層の相互作用データを追加するには、コマンド ライン プロファイリング ツールによる特定の手順が必要です。Adding tier interaction data to a profiling run requires specific procedures with the command line profiling tools. 階層相互作用データの収集」を参照してくださいSee Collecting tier interaction data

参照See Also

スタンドアロン アプリケーションのプロファイリング Profiling Stand-Alone Applications
ASP.NET Web アプリケーションのプロファイリング Profiling ASP.NET Web Applications
プロファイリング (サービスの)Profiling Services