チュートリアル : サンプリングを使ったコマンド ライン プロファイリング
このチュートリアルでは、コマンド ライン ツールを使用したアプリケーションのプロファイリング方法と、パフォーマンス上の問題をサンプリングによって特定する方法について説明します。
このチュートリアルでは、コマンド ライン ツールを使用してマネージ アプリケーションのプロファイリングを行う方法と、サンプリングを使用してアプリケーションのパフォーマンス上の問題を特定および識別する方法の各手順を説明します。
このチュートリアルでは、次の手順を行います。
コマンド ライン ツールとサンプリングを使用してアプリケーションのプロファイリングを行います。
サンプリングしたプロファイリング結果を分析して、パフォーマンス上の問題を特定および修正します。
必須コンポーネント
Visual Studio Premium または Visual Studio Ultimate
Visual C# についての中級レベルの知識
コマンド ライン ツールの操作についての中級レベルの知識
プロファイリングによって得られた情報を操作するには、デバッグ シンボル情報を使用できるようにしておくことをお勧めします。
サンプリング メソッドを使用したコマンド ライン プロファイリング
サンプリングとは 1 つのプロファイリング方式で、対象のプロセスを定期的にポーリングしてアクティブな関数を識別します。結果のデータからは、プロセスがサンプリングされたときに対象の関数が呼び出し履歴の一番上に配置されていた回数がわかります。
[!メモ]
プロファイリング ツールのコマンド ライン ツールは、Visual Studio インストール ディレクトリの \Team Tools\Performance Tools サブディレクトリにあります。64 ビット コンピューター上では、64 ビット バージョンのツールと 32 ビット バージョンのツールの両方を使用できます。プロファイラー コマンド ライン ツールを使用するには、コマンド プロンプト ウィンドウの PATH 環境変数にそのパスを追加するか、コマンド自体にこのパスを追加します。詳細については、「プロファイル ツールのコマンド ライン ツールへのパスの指定」を参照してください。PeopleTrax は 32 ビット アプリケーションです。
サンプリング メソッドを使用して PeopleTrax アプリケーションのプロファイリングを行うには
PeopleTrax サンプル アプリケーションをインストールして、リリース バージョンをビルドします。
コマンド プロンプト ウィンドウを開いて、ローカル パス環境変数にプロファイリング ツール ディレクトリを追加します。
作業ディレクトリを PeopleTrax バイナリを含むディレクトリに変更します。
次のコマンドを入力し、適切な環境変数を設定します。
VSPerfCLREnv /sampleon
VSPerfCmd.exe (プロファイラーを制御するコマンド ライン ツール) を実行してプロファイリングを開始します。次のコマンドにより、アプリケーションとプロファイラーがサンプリング モードで起動します。
VsPerfCmd /start:sample /output:PeopleTraxReport.vsp /launch:PeopleTrax.exe
プロファイラーのプロセスが開始され、PeopleTrax.exe のプロセスにアタッチされます。プロファイラーのプロセスにより、収集したプロファイリング データのレポート ファイルへの出力が開始されます。
[Get People] をクリックします。
[データのエクスポート] をクリックします。
メモ帳が開かれ、PeopleTrax からエクスポートされたデータを含む新しいファイルが表示されます。
メモ帳を閉じ、PeopleTrax アプリケーションを閉じます。
プロファイラーをシャットダウンします。次のコマンドを入力します。
VSPerfCmd /shutdown
次のコマンドを使用し、環境変数をリセットします。
VSPerfCLREnv /sampleoff
プロファイリング データは .vsp ファイルに格納されます。次のいずれかの方法により結果を分析します。
Visual Studio IDE で .vsp ファイルを開きます。
または
コマンド ライン ツール VSPerfReport.exe を使用してコンマ区切り値 (csv) ファイルを生成します。Visual Studio IDE 以外で使用するレポートを生成するには、次のコマンドを使用します。
VSPerfReport <dir> PeopleTraxReport.vsp /output:<dir> /summary:all