Arresto anomalo e riavvio del computer di destinazione
Quando si esegue il debug del kernel, è possibile che il computer di destinazione smetta di rispondere ( ovvero arresto anomalo o controllo dei bug) eseguendo il comando .crash (Force System Crash). Questo comando causa immediatamente l'arresto della risposta del computer di destinazione. Il debugger scrive un file di dump in modalità kernel se sono stati abilitati i dump di arresto anomalo del sistema. Per altre informazioni su questi file, vedere Creazione di un file di dump in modalità kernel.
Per riavviare il computer di destinazione, usare il comando .reboot (Reboot Target Computer).
Se si vuole che il computer di destinazione crei un file di dump di arresto anomalo del sistema e quindi si riavvia, è consigliabile eseguire il comando crash , seguito dal comando .reboot . Se si vuole solo riavviare, il comando .crash non è obbligatorio.
Nelle prime fasi del processo di avvio, la connessione tra il computer host e il computer di destinazione viene persa. Nessuna informazione sul computer di destinazione è disponibile per il debugger.
Dopo l'interruzione della connessione, il debugger chiude tutti i file di simboli e scarica tutte le estensioni del debugger. A questo punto, tutti i punti di interruzione vengono persi se si esegue KD o CDB. In WinDbg è possibile salvare l'area di lavoro corrente. Questa azione salva tutti i punti di interruzione.
Se si vuole terminare la sessione di debug a questo punto, usare il comando CTRL+B (in KD) o fare clic su Esci dal menu File (in WinDbg).
Se non si esce dal debugger, la connessione viene ristabilita dopo il completamento di un numero sufficiente del processo di avvio. I simboli e le estensioni vengono ricaricati a questo punto. Se si esegue WinDbg, l'area di lavoro in modalità kernel viene ricaricata.
È possibile indicare al debugger di interrompere automaticamente il computer di destinazione durante il processo di riavvio in due momenti possibili:
Quando il primo modulo kernel viene caricato in memoria
Quando il kernel viene inizializzato
Per impostare un punto di interruzione automatico al caricamento del primo modulo kernel, usare l'opzione della riga di comando -d.
È anche possibile modificare lo stato di interruzione dopo l'esecuzione del debugger:
Controllare i punti di interruzione di caricamento del modulo iniziale e di inizializzazione del kernel, ad esempio tutte le eccezioni e gli eventi. È possibile interrompere il debugger quando si verificano questi eventi o ignorarli. È anche possibile eseguire automaticamente un comando specificato quando vengono raggiunti questi punti di interruzione. Per altre informazioni, vedere Controllo di eccezioni ed eventi.
Usare i tasti di scelta rapida CTRL+K in KD, i tasti di scelta rapida CTRL+ALT+K in WinDbg e Debug | Connessione kernel | Comando Cycle Initial Break in WinDbg per modificare lo stato di interruzione. Ogni volta che si usano questi comandi, il debugger passa tra tre stati: nessuna interruzione automatica, interruzione all'inizializzazione del kernel e interruzione al caricamento del primo modulo kernel. Questo metodo non può attivare entrambi i punti di interruzione automatici contemporaneamente.