コマンド ラインからプロファイラーを使用してスタンドアロンのネイティブ コンポーネントをインストルメントし、タイミング データを収集する
この記事では、Visual Studio コマンド ライン プロファイル ツールを使用して、C++ .exe や .dll ファイルなどのネイティブ コンポーネントをインストルメント化し、詳細なタイミング データを収集する方法について説明します。
インストルメンテーション メソッドを使用してコンポーネントから詳細なタイミング データを収集するには、VSInstr.exe ツールを使用して、コンポーネントのインストルメントされたバージョンを生成します。 次に、PerfInstrumentation.json エージェント構成を使用して、他のコマンド ライン シナリオと同じ方法でプロファイラーを起動します。 インストルメントされたコンポーネントを実行すると、タイミング データが .diagsession ファイルに自動的に収集されます。
プロファイリング ツールへのパスは Microsoft Visual Studio\version\Enterprise\Team Tools\DiagnosticsHub\Collector です。
Note
プロファイラー コマンド ライン ツールを使用するには、Visual Studio 開発者コマンド プロンプトを使用するか、コマンド プロンプト ウィンドウの PATH 環境変数にツールのパスを追加する必要があります。
VSInstr を使用したインストルメント化
exe または .dll ファイルなどのネイティブ コンポーネントをインストルメント化するには、次を実行します。
VSInstr /d:new ModuleToProfile.dll
必要に応じて /EXCLUDESMALLFUNCS
を渡すことで、小さな関数をインストルメンテーションから除外して、ツールのオーバーヘッドを削減し、より正確な結果を得ることができます。
Note
Visual Studio 17.11 Preview 3 以降では、/d:new
フラグは既定で設定されているため、必要ありません。