共用方式為


偵錯 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 進行偵錯時,目標電腦上的網路驗證將無法正常運作。