偵錯 WinLogon
WinLogon 是使用者模式程式,可處理互動式使用者登入和登出的工作,並處理 CTRL+ALT+DELETE 的所有實例。
從核心偵錯工具控制 NTSD
偵錯 WinLogon 最簡單的方式是使用 NTSD,並從 核心偵錯工具控制它。
啟用 WinLogon 偵錯
由於您將使用者模式偵錯工具輸出重新導向至核心偵錯工具,因此您必須設定核心偵錯連線。 請參閱 開始設定偵錯。
若要將偵錯工具附加至 WinLogon,您必須進行登錄,以便從啟動程式開始進行偵錯。 若要設定 WinLogon 偵錯,請將 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WinLogon.EXE\Debugger 設定為:
ntsd -d -x -g
-d選項會將控制權傳遞給核心偵錯工具。 -x選項會導致偵錯工具將存取違規擷取為第二個機率例外狀況。 -g選項會導致 WinLogon 進程在附件之後執行。 如果您想要在開始偵錯之前先Winlogon.exe (開始偵錯,請勿新增 -g ,例如,如果您想要設定初始中斷點) 。
此外,您應該將 winlogon.exe 機碼底下的 GlobalFlag 值設定為 REG_DWORD 「0x000400F0」。 這會設定堆積檢查和FLG_ENABLE_KDEBUG_SYMBOL_LOAD。 不過,由於第二個旗標只會影響核心偵錯工具,因此啟動偵錯工具之前,也必須將符號複製到目的電腦。
登錄變更需要重新開機才會生效。
執行偵錯
下次重新開機之後,偵錯工具會自動中斷至 WinLogon。
如需如何繼續的說明,請參閱 從核心偵錯工具控制User-Mode偵錯工具 。
您必須將符號路徑設定為主電腦上的某個位置,或設定為網路上的一些其他位置。 偵錯 WinLogon 時,目的電腦上的網路驗證將無法正常運作。