共用方式為


手動偵錯服務應用程式

啟動服務應用程式之後手動附加至服務應用程式,就像偵錯任何執行中的使用者模式進程一樣。

使用具有/s選項的TList 工具,即可顯示每個執行中進程和每個進程中作用中的服務 (PID) 的進程識別碼。

如果您想要偵錯的服務應用程式與單一進程中的其他服務結合,您必須先隔離它,才能進行偵錯。 若要這樣做,請執行隔離服務中所述的程式。 在此程式結束時,重新開機服務。

若要判斷服務的新 PID,請發出下列服務組態工具 (Sc.exe) 命令,其中 ServiceName 是服務的名稱:

sc queryex ServiceName 

現在,使用此服務應用程式作為目標啟動 WinDbg 或 CDB。 有三種方式可以執行此動作:使用 -p 選項指定 PID、使用 -pn 選項指定可執行檔名稱, (如果可執行檔名稱是唯一的) ,或是使用 -psn 選項指定服務名稱。

例如,如果進程SpoolSv.exe具有 651 的 PID,且包含名為 Spooler的服務,則下列三個命令相等:

windbg -p 651 [AdditionalOptions] 
windbg -pn spoolsv.exe [AdditionalOptions] 
windbg -psn spooler [AdditionalOptions] 

偵錯工具啟動之後,請繼續進行,就像您在任何其他使用者模式偵錯會話中一樣。