Condividi tramite


Debug di WinLogon

WinLogon è il processo in modalità utente che gestisce l'attività di accesso e disconnessione degli utenti interattivi e gestisce tutte le istanze di CTRL+ALT+DELETE.

Controllo di NTSD dal debugger del kernel

Il modo più semplice per eseguire il debug di WinLogon consiste nell'usare NTSD e controllarlo dal debugger del kernel.

Abilitazione del debug di WinLogon

Poiché si reindirizzerà l'output del debugger in modalità utente al debugger del kernel, sarà necessario configurare una connessione di debug del kernel. Vedere Configurazione per il debug.

Per collegare un debugger a WinLogon, è necessario passare attraverso il Registro di sistema in modo che il processo venga eseguito dal momento in cui viene avviato. Per configurare il debug di WinLogon, impostare HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\WinLogon.EXE\Debugger su:

ntsd -d -x -g 

L'opzione -d passa il controllo al debugger del kernel. L'opzione -x causa l'acquisizione delle violazioni di accesso da parte del debugger come eccezioni di seconda probabilità. L'opzione -g causa l'esecuzione del processo WinLogon dopo l'allegato. Non aggiungere - g se si vuole avviare il debug prima dell'inizio della Winlogon.exe, ad esempio se si vuole impostare un punto di interruzione iniziale.

È inoltre necessario impostare il valore GlobalFlag nella chiave diwinlogon.exesu REG_DWORD "0x000400F0 ". In questo modo viene impostato il controllo dell'heap e FLG_ENABLE_KDEBUG_SYMBOL_LOAD. Tuttavia, poiché questo secondo flag influisce solo sul debugger del kernel, i simboli devono essere copiati anche nel computer di destinazione prima di avviare il debugger.

La modifica del Registro di sistema richiede un riavvio per l'effetto.

Esecuzione del debug

Dopo il riavvio successivo, il debugger verrà interrotto automaticamente in WinLogon.

Per una spiegazione di come procedere, vedere Controllo del debugger User-Mode dal debugger del kernel .

È necessario impostare il percorso del simbolo su una posizione nel computer host o su un'altra posizione nella rete. Quando WinLogon viene eseguito il debug, l'autenticazione di rete nel computer di destinazione non funzionerà correttamente.