共用方式為


HOW TO:使用命令列工具剖析服務

更新:2007 年 11 月

服務是在作業系統幕後執行的程式,可以提供作業系統功能的支援。例如 Telnet 服務和 ASP.NET 服務。服務不能從 Visual Studio 內執行,而必須在 [服務控制管理員] 的內容裡執行。因此,對服務進行程式碼剖析並不像對其他 Visual Studio 應用程式類型進行程式碼剖析時那麼簡單直接。

重要事項:

您必須先安裝服務才能對它進行程式碼剖析。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務

您可以使用 VSPerfCmd、VSInstr 和 VSPerfMon 命令列工具對原生 (Native) 服務進行程式碼剖析。若要對 Managed 服務進行程式碼剖析,就必須遵循額外的必要步驟,設定 Common Language Runtime 環境。以下程序列出了您應該遵循的步驟。

若要使用取樣對 Managed 服務進行程式碼剖析

  1. 安裝服務。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務

  2. 開啟命令列視窗。在命令提示字元中執行下列命令:

    c:\<path>VSPerfClrEnv /globalsampleon 
    

    這會設定您在對 Managed 服務進行程式碼剖析時必須擁有的環境變數。

  3. 重新啟動電腦。

  4. 使用 [服務控制管理員] 確定服務在安裝後正在執行。如需詳細資訊,請參閱 HOW TO:啟動服務

  5. 接著,執行下列命令:

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

    程式碼剖析工具會以取樣模式啟動。/output 選項會建立 .VSP 檔以儲存效能資料。

    重要事項:

    您可能會需要包含 /USER 選項,讓用戶端從指定的帳號存取監視器。

  6. 接著執行下列命令,附加處理序 (Process):

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

    /attach 選項會使用處理序識別項 (pid) 或處理序名稱 (name) 附加這個服務。

  7. 若要完成工作階段,請執行下列命令從處理序中斷連結:

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

    您也可以停止服務或裝載服務的處理序 (對於多服務的處理序)。

  8. 接著執行下列命令,關閉程式碼剖析工具:

    c:\<path>VSPerfCmd /shutdown
    
  9. /shutdown 選項會強制 VSPerfCmd 工具等待所監視的應用程式關閉,然後關閉 VSPerfMon.exe 並等待關閉完成。

  10. 接著使用下列命令,移除對 Managed 服務進行程式碼剖析所需的環境變數:

    C:\<path>VSPerfClrEnv /globaloff 
    
  11. 重新啟動電腦。

若要使用檢測對 Managed 服務進行程式碼剖析

  1. 使用 VSInstr.exe 工具對服務進行檢測。如需詳細資訊,請參閱 VSInstr

  2. 安裝服務。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務

    注意事項:

    服務應該設定為「手動」。它不應該自動啟動。您將在步驟 6 啟動這個服務。

  3. 開啟命令列視窗。在命令提示字元中執行下列命令:

    c:\<path>VSPerfClrEnv /globaltraceon 
    

    這會設定對 Managed 服務進行程式碼剖析所需的環境變數。

  4. 重新啟動電腦。

  5. 接著,執行下列命令:

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

    程式碼剖析工具會以檢測模式啟動。/OUTPUT 選項會建立 .VSP 檔以儲存效能資料。

    重要事項:

    您可能會需要包含 /USER 選項,讓用戶端從指定的帳號存取監視器。

  6. 使用 [服務控制管理員] 確定服務在安裝後正在執行。如需詳細資訊,請參閱 HOW TO:啟動服務

    重要事項:

    當服務啟動而效能監視器正在執行時,這個服務會附加至效能監視器。如果效能監視器啟動時服務已經在執行中,這個服務便不會附加至效能監視器。

  7. 若要結束檢測,請停止此服務。

  8. 接著,執行下列命令:

    c:\<path>VSPerfCmd /shutdown
    

    /shutdown 選項會強制 VSPerfCmd 工具等待所監視的應用程式關閉,然後關閉 VSPerfMon.exe 並等待關閉完成。

  9. 接著使用下列命令,移除對 Managed 服務進行程式碼剖析所需的環境變數:

    c:\<path>VSPerfClrEnv /globaloff
    
  10. 重新啟動電腦。