HOW TO:使用命令列工具剖析服務
更新:2007 年 11 月
服務是在作業系統幕後執行的程式,可以提供作業系統功能的支援。例如 Telnet 服務和 ASP.NET 服務。服務不能從 Visual Studio 內執行,而必須在 [服務控制管理員] 的內容裡執行。因此,對服務進行程式碼剖析並不像對其他 Visual Studio 應用程式類型進行程式碼剖析時那麼簡單直接。
重要事項: |
---|
您必須先安裝服務才能對它進行程式碼剖析。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務。 |
您可以使用 VSPerfCmd、VSInstr 和 VSPerfMon 命令列工具對原生 (Native) 服務進行程式碼剖析。若要對 Managed 服務進行程式碼剖析,就必須遵循額外的必要步驟,設定 Common Language Runtime 環境。以下程序列出了您應該遵循的步驟。
若要使用取樣對 Managed 服務進行程式碼剖析
安裝服務。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務。
開啟命令列視窗。在命令提示字元中執行下列命令:
c:\<path>VSPerfClrEnv /globalsampleon
這會設定您在對 Managed 服務進行程式碼剖析時必須擁有的環境變數。
重新啟動電腦。
使用 [服務控制管理員] 確定服務在安裝後正在執行。如需詳細資訊,請參閱 HOW TO:啟動服務。
接著,執行下列命令:
c:\<path>VSPerfCmd /start:sample /output:filename
程式碼剖析工具會以取樣模式啟動。/output 選項會建立 .VSP 檔以儲存效能資料。
重要事項: 您可能會需要包含 /USER 選項,讓用戶端從指定的帳號存取監視器。
接著執行下列命令,附加處理序 (Process):
c:\<path>VSPerfCmd /attach:pid | name
/attach 選項會使用處理序識別項 (pid) 或處理序名稱 (name) 附加這個服務。
若要完成工作階段,請執行下列命令從處理序中斷連結:
c:\<path>VSPerfCmd /detach:pid | name
您也可以停止服務或裝載服務的處理序 (對於多服務的處理序)。
接著執行下列命令,關閉程式碼剖析工具:
c:\<path>VSPerfCmd /shutdown
/shutdown 選項會強制 VSPerfCmd 工具等待所監視的應用程式關閉,然後關閉 VSPerfMon.exe 並等待關閉完成。
接著使用下列命令,移除對 Managed 服務進行程式碼剖析所需的環境變數:
C:\<path>VSPerfClrEnv /globaloff
重新啟動電腦。
若要使用檢測對 Managed 服務進行程式碼剖析
使用 VSInstr.exe 工具對服務進行檢測。如需詳細資訊,請參閱 VSInstr。
安裝服務。如需詳細資訊,請參閱 HOW TO:安裝及解除安裝服務。
注意事項: 服務應該設定為「手動」。它不應該自動啟動。您將在步驟 6 啟動這個服務。
開啟命令列視窗。在命令提示字元中執行下列命令:
c:\<path>VSPerfClrEnv /globaltraceon
這會設定對 Managed 服務進行程式碼剖析所需的環境變數。
重新啟動電腦。
接著,執行下列命令:
c:\<path>VSPerfCmd /start:trace /output:filename
程式碼剖析工具會以檢測模式啟動。/OUTPUT 選項會建立 .VSP 檔以儲存效能資料。
重要事項: 您可能會需要包含 /USER 選項,讓用戶端從指定的帳號存取監視器。
使用 [服務控制管理員] 確定服務在安裝後正在執行。如需詳細資訊,請參閱 HOW TO:啟動服務。
重要事項: 當服務啟動而效能監視器正在執行時,這個服務會附加至效能監視器。如果效能監視器啟動時服務已經在執行中,這個服務便不會附加至效能監視器。
若要結束檢測,請停止此服務。
接著,執行下列命令:
c:\<path>VSPerfCmd /shutdown
/shutdown 選項會強制 VSPerfCmd 工具等待所監視的應用程式關閉,然後關閉 VSPerfMon.exe 並等待關閉完成。
接著使用下列命令,移除對 Managed 服務進行程式碼剖析所需的環境變數:
c:\<path>VSPerfClrEnv /globaloff
重新啟動電腦。