次の方法で共有


方法: コマンド ラインを使用してプロファイラーによってスタンドアロンの .NET Framework アプリケーションを起動し、同時実行データを収集する

更新: 2011 年 1 月 12

ここでは、Visual Studio プロファイリング ツールのコマンド ライン ツールを使用して、.NET Framework のスタンドアロン (クライアント) アプリケーションを起動し、プロセスおよびスレッドの同時実行データを収集する方法について説明します。

[!メモ]

プロファイリング ツールのコマンド ライン ツールは、Visual Studio インストール ディレクトリの \Team Tools\Performance Tools サブディレクトリにあります。64 ビット コンピューター上では、64 ビット バージョンのツールと 32 ビット バージョンのツールの両方を使用できます。プロファイラー コマンド ライン ツールを使用するには、コマンド プロンプト ウィンドウの PATH 環境変数にツールのパスを追加するか、コマンド自体にそれを追加します。詳細については、「プロファイル ツールのコマンド ライン ツールへのパスの指定」を参照してください。

プロファイラーをアプリケーションにアタッチしている間はデータ収集を一時停止し、完了後に再開できます。プロファイル セッションを終了するには、アプリケーションへのプロファイラーのアタッチを解除し、プロファイラーを明示的に終了する必要があります。

プロファイラーによるアプリケーションの起動

プロファイラーを使用して対象の .NET Framework アプリケーションを起動するには、VSPerfClrEnv.exe を使用して、.NET Framework プロファイル変数を設定します。次に、VSPerfCmd の /start オプションおよび /launch オプションを使用して、プロファイラーを初期化し、アプリケーションを起動します。/start/launch、およびそれぞれのオプションは、1 つのコマンド ラインで指定できます。また、/globaloff オプションをコマンド ラインに追加すると、対象アプリケーションの起動時にデータ収集を一時停止できます。次に、別のコマンド ラインで /globalon を使用して、データ収集を開始できます。

プロファイラーを使用してアプリケーションを起動するには

  1. コマンド プロンプト ウィンドウを開きます。

  2. プロファイラーを起動します。Type:

    VSPerfCmd/start:concurrency[,{ResourceOnly|ThreadOnly}] **/output:**OutputFile [Options]

    • /start オプションによってプロファイラーが初期化されます。

      /start:concurrency

      リソース競合データとスレッド実行データの両方の収集を有効にします。

      /start:concurrency,resourceonly

      リソース競合データの収集のみを有効にします。

      /start:concurrency,threadonly

      スレッド実行データの収集のみを有効にします。

    • /start には /output**:**OutputFile オプションを指定する必要があります。OutputFile には、プロファイル データ (.vsp) ファイルの名前と場所を指定します。

    /start:concurrency オプションを使用する場合は、次のうちいずれかのオプションを指定できます。

    オプション

    Description

    /user:[domain\]username

    プロファイラーへのアクセスを許可するアカウントのオプションのドメインとユーザー名を指定します。

    /crosssession

    他のログオン セッションにおけるプロセスのプロファイリングを有効にします。

    /wincounter:WinCounterPath

    プロファイリング実行中に収集する Windows パフォーマンス カウンターを指定します。

    /automark:Interval

    /wincounter と共にのみ使用します。Windows パフォーマンス カウンター収集イベントの間隔をミリ秒単位で指定します。既定値は 500 ミリ秒です。

    /events:Config

    プロファイリング実行中に収集する ETW (Event Tracing for Windows) イベントを指定します。ETW イベントは独立した (.etl) ファイルに収集されます。

  3. 対象アプリケーションを起動します。Type:

    VSPerfCmd /launch**:**AppName [Options] [Sample Event]

    /launch オプションを使用する場合は、次のうちいずれかのオプションを指定できます。

    オプション

    Description

    /args:Arguments

    対象アプリケーションへ渡されるコマンド ライン引数を格納する文字列を指定します。

    /console

    対象のコマンド ライン アプリケーションを別のウィンドウで起動でします。

    /targetclr:Version

    アプリケーションに複数バージョンのランタイムが読み込まれている場合に、プロファイリングを行う共通言語ランタイム (CLR: Common Language Runtime) のバージョンを指定します。

データ収集の制御

対象アプリケーションの実行中は、VSPerfCmd.exe のオプションを使用してファイルへのデータ書き込みを開始および停止することにより、データ収集を制御できます。データ収集を制御することにより、アプリケーションの起動や終了など、プログラム実行の特定の部分についてのデータ収集を行うことができます。

データ収集を開始および停止するには

  • 次の VSPerfCmd.exe オプションの組み合わせにより、データ収集を開始および停止します。個別のコマンド ラインで各オプションを指定します。データ収集のオンとオフは複数回切り替えることができます。

    オプション

    Description

    /globalon /globaloff

    すべてのプロセスのデータ収集を開始 (/globalon) または停止 (/globaloff) します。

    /processon:PID/processoff:PID

    プロセス ID (PID) で指定されたプロセスのデータ収集を開始 (/processon) または停止 (/processoff) します。

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attach は、プロセス ID (PID) またはプロセス名 (ProcName) で指定したプロセスのデータ収集を開始します。/detach は、指定されたプロセスのデータ収集を停止します。特定のプロセスが指定されていない場合は、すべてのプロセスのデータ収集を停止します。

プロファイル セッションの終了

プロファイル セッションを終了するには、プロファイラーがデータ収集を停止している必要があります。同時実行データの収集を停止するには VSPerfCmd /detach オプションを呼び出して、プロファイリング対象のアプリケーションを終了する必要があります。次に、VSPerfCmd /shutdown オプションを呼び出して、プロファイラーをオフにし、プロファイル データ ファイルを閉じます。VSPerfClrEnv /off コマンドで、プロファイル環境変数を消去します。

プロファイル セッションを終了するには

  1. 対象アプリケーションからプロファイラーをデタッチするには、次のいずれかの操作を行います。

    • 対象アプリケーションを終了します。

      または

    • VSPerfCmd /detach」と入力します。

  2. プロファイラーをシャットダウンします。

    VSPerfCmd /shutdown

参照

概念

プロファイラーのコマンド ラインを使用したスタンドアロン アプリケーションの同時実行データの収集

履歴の変更

日付

履歴

理由

2011 年 1 月 12

VSPerfClrEnv /sampleon の削除された手順。

コンテンツ バグ修正