チュートリアル : インストルメンテーションを使ったコマンド ライン プロファイリング
このチュートリアルでは、.NET Framework のスタンドアロン アプリケーションのプロファイリングにより、プロファイリング ツールのインストルメンテーション メソッドを使用して、詳細なタイミング データおよび呼び出し数データを収集する方法を説明します。このチュートリアルでは、次のタスクを行います。
VSInstr コマンド ライン ツールを使用して、インストルメント化されたバイナリを生成する。
VSPerfCLREnv ツールを使用して .NET プロファイリング データを収集するように環境変数を設定する。
VSPerfCmd ツールを使用して、プロファイリング データを収集する。
VSPerfReport ツールを使用して、プロファイリング データのファイル ベースのレポートを生成する。
必須コンポーネント
Visual Studio アプリケーション ライフサイクル管理
C# についての中級レベルの知識
コマンド ライン ツールの操作についての中級レベルの知識
プロファイリングによって得られた情報を操作するには、デバッグ シンボル情報を使用できるようにしておくことをお勧めします。詳細については、「方法 : Windows シンボル情報を参照する」を参照してください。
インストルメンテーション メソッドを使用したコマンド ライン プロファイリング
インストルメンテーションとは、1 つのプロファイリング方式です。インストルメントされるモジュール内の関数に制御が渡されるときと、関数から制御が返されるときのタイミング情報を収集するプローブ関数が、プロファイリングされるバイナリの特別に構築されたバージョンに含まれています。このプロファイリング方式は、サンプリングよりも深くプログラムに入り込むので、オーバーヘッドが大きくなります。インストルメントされたバイナリはデバッグまたはリリース バイナリよりも大きく、配置向けではありません。
[!メモ]
インストルメントされたバイナリを顧客に配布することのないように注意してください。インストルメントされたバイナリには、さまざまなリスクが存在します。セキュリティ上のリスクはもちろん、バイナリに含まれる情報を基に、アプリケーションのリバース エンジニアリングを容易に行うことができてしまうという問題もあります。
インストルメンテーション メソッドを使用して PeopleTrax アプリケーションのプロファイリングを行うには
PeopleTrax サンプル アプリケーションをインストールして、リリース バージョンをビルドします。
コマンド プロンプト ウィンドウを開いて、ローカル パス環境変数にプロファイリング ツール ディレクトリを追加します。
作業ディレクトリを PeopleTrax バイナリを含むディレクトリに変更します。
ファイル ベース レポートを含むディレクトリを作成します。次のコマンドを入力します。
md Reports
VSInstr コマンド ライン ツールを使用して、アプリケーションにバイナリをインストルメント化します。次のコマンドを別々のコマンド ラインに入力します。
VSInstr PeopleTrax.exe VSInstr PeopleTrax.exe VSInstr People.dll VSInstr Person.dll VSInstr Operation.dll
注意 既定では、インストルメントされていない元のファイルのバックアップが保存されます。バックアップ ファイルの名前には、.orig という拡張子が付きます。たとえば、元のバージョンの "MyApp.exe" は、"MyApp.exe.orig" として保存されます。
次のコマンドを入力し、適切な環境変数を設定します。
VsPerfCLREnv /traceon
プロファイラーを起動するには、次のコマンドを入力します。
VsPerfCmd /start:trace /output:Reports\Report.vsp
プロファイラーをトレース モードで開始すると、インストルメント化されたバージョンの PeopleTrax.exe プロセスによってデータが収集されます。
PeopleTrax アプリケーション ウィンドウが表示されます。
[Get People] をクリックします。
PeopleTrax データ グリッドにデータが設定されます。
[データのエクスポート] をクリックします。
メモ帳が開かれ、PeopleTrax アプリケーションの人名リストを含む新しいファイルが表示されます。
メモ帳を閉じ、PeopleTrax アプリケーションを閉じます。
プロファイラーをシャットダウンします。次のコマンドを入力します。
VSPerfCmd /shutdown
次のコマンドを入力し、環境変数をリセットします。
VSPerfCLREnv /off
VSPerfReport ツールを使用してコンマ区切り値 (csv) レポート ファイルを生成します。Type:
VSPerfReport Reports\Report.vsp /output:Reports /summary:all
スプレッドシート プログラムで生成されたレポートを分析できます。または、Visual Studio IDE を使用して、Report.vsp ファイル内のプロファイリング データを分析することもできます。詳細については、「プロファイリング ツール データの分析」を参照してください。