方法 : コマンド ライン ツールを使用してサービスのプロファイリングを実行する

更新 : 2007 年 11 月

サービスは、オペレーティング システムのバックグラウンドで実行され、オペレーティング システム機能のサポートを提供するプログラムです。たとえば、Telnet サービスや ASP.NET サービスなどがあります。サービスは、Visual Studio からは実行できず、サービス コントロール マネージャのコンテキスト内で実行する必要があります。したがって、サービスのプロファイリングを行うことは、他の種類の Visual Studio アプリケーションのように容易ではありません。

ms242724.alert_caution(ja-jp,VS.90).gif重要 :

サービスをプロファイリングする前に、そのサービスがインストールされている必要があります。詳細については、「方法 : サービスをインストールおよびアンインストールする」を参照してください。

ネイティブ サービスをプロファイリングする場合は、VSPerfCmd、VSInstr、および VSPerfMon の各コマンド ライン ツールを使用します。マネージ サービスをプロファイリングする場合は、共通言語ランタイム環境を設定するための追加の手順が必要です。次に、必要な手順を示します。

サンプリングを使用してマネージ サービスのプロファイリングを実行するには

  1. サービスをインストールします。詳細については、「方法 : サービスをインストールおよびアンインストールする」を参照してください。

  2. コマンド ライン ウィンドウを開きます。コマンド プロンプトで次のコマンドを実行します。

    c:\<path>VSPerfClrEnv /globalsampleon 
    

    これにより、マネージ サービスのプロファイリングに必要な環境変数が設定されます。

  3. コンピュータを再起動します。

  4. サービス コントロール マネージャを使用して、サービスがインストール後に実行されていることを確認します。詳細については、「方法 : サービスを開始する」を参照してください。

  5. 次のコマンドを実行します。

    c:\<path>VSPerfCmd /start:sample /output:filename
    

    プロファイラがサンプリング モードで開始されます。/output オプションにより、パフォーマンス データを格納するための .VSP ファイルが作成されます。

    ms242724.alert_caution(ja-jp,VS.90).gif重要 :

    指定のアカウントからモニタへのクライアント アクセスを許可するために、/USER オプションを含める必要があります。

  6. 次のコマンドを実行してプロセスをアタッチします。

    c:\<path>VSPerfCmd /attach:pid | name 
    

    /attach オプションにより、プロセス ID (pid) またはプロセス名 (name) を使用してサービスがアタッチされます。

  7. セッションを完了するには、次のコマンドを実行してプロセスをデタッチします。

    c:\<path>VSPerfCmd /detach:pid | name
    

    サービスを停止したり、マルチ サービス プロセスのサービスをホストするプロセスを停止したりすることもできます。

  8. 次のコマンドを実行してプロファイラを終了します。

    c:\<path>VSPerfCmd /shutdown
    
  9. /shutdown オプションにより、VSPerfCmd ツールは監視対象アプリケーションが終了するのを待ち、その後 VSPerfMon.exe を終了して、完全にシャットダウンするまで待機します。

  10. 次のコマンドを使用して、マネージ サービスのプロファイリングに必要な環境変数を削除します。

    C:\<path>VSPerfClrEnv /globaloff 
    
  11. コンピュータを再起動します。

インストルメンテーションを使用してマネージ サービスをプロファイリングするには

  1. VSInstr.exe ツールを使用してサービスをインストルメント化します。詳細については、「VSInstr」を参照してください。

  2. サービスをインストールします。詳細については、「方法 : サービスをインストールおよびアンインストールする」を参照してください。

    ms242724.alert_note(ja-jp,VS.90).gifメモ :

    サービスは "手動" として構成する必要があります。自動的に開始されるように構成しないでください。サービスは手順 6 で開始します。

  3. コマンド ライン ウィンドウを開きます。コマンド プロンプトで次のコマンドを実行します。

    c:\<path>VSPerfClrEnv /globaltraceon 
    

    これにより、マネージ サービスのプロファイリングに必要な環境変数が設定されます。

  4. コンピュータを再起動します。

  5. 次のコマンドを実行します。

    c:\<path>VSPerfCmd /start:trace /output:filename
    

    プロファイラがインストルメンテーション モードで開始されます。/OUTPUT オプションにより、パフォーマンス データを格納するための .VSP ファイルが作成されます。

    ms242724.alert_caution(ja-jp,VS.90).gif重要 :

    指定のアカウントからモニタへのクライアント アクセスを許可するために、/USER オプションを含める必要があります。

  6. サービス コントロール マネージャを使用して、サービスがインストール後に実行されていることを確認します。詳細については、「方法 : サービスを開始する」を参照してください。

    ms242724.alert_caution(ja-jp,VS.90).gif重要 :

    サービスを開始したときにパフォーマンス モニタが実行中である場合、サービスはパフォーマンス モニタにアタッチされます。サービスが既に動作しているときにパフォーマンス モニタを起動した場合はアタッチされません。

  7. インストルメンテーションを終了するには、サービスを停止します。

  8. 次のコマンドを実行します。

    c:\<path>VSPerfCmd /shutdown
    

    /shutdown オプションにより、VSPerfCmd ツールは監視対象アプリケーションが終了するのを待ち、その後 VSPerfMon.exe を終了して、完全にシャットダウンするまで待機します。

  9. 次のコマンドを使用して、マネージ サービスのプロファイリングに必要な環境変数を削除します。

    c:\<path>VSPerfClrEnv /globaloff
    
  10. コンピュータを再起動します。