Funzione KeBugCheck (ntddk.h)
La routine KeBugCheck riduce il sistema in modo controllato quando il chiamante individua una incoerenza irreversibile che danneggia il sistema se il chiamante continua a funzionare.
Sintassi
void KeBugCheck(
[in] ULONG BugCheckCode
);
Parametri
[in] BugCheckCode
Specifica un valore che indica il motivo del controllo dei bug.
Valore restituito
Nessuno
Osservazioni
Un controllo di bug è un errore rilevato dal sistema che causa un arresto immediato e controllato del sistema. Vari componenti in modalità kernel eseguono il controllo della coerenza in fase di esecuzione. Quando un componente di questo tipo rileva un'incoerenza irreversibile, causa la generazione di un controllo di bug.
Quando possibile, tutti i componenti in modalità kernel devono registrare un errore e continuare l'esecuzione, anziché chiamare KeBugCheck. Ad esempio, se un driver non è in grado di allocare le risorse necessarie, dovrebbe registrare un errore in modo che il sistema continui a essere eseguito; non deve generare un controllo dei bug.
Un driver o un altro componente in modalità kernel deve chiamare questa routine solo in caso di errore irreversibile e irreversibile che potrebbe danneggiare il sistema stesso.
KeBugCheck può essere utile nelle prime fasi di sviluppo di un driver o durante il test. In queste circostanze, il BugCheckCode passato a questa routine deve essere distinto da quelli già in uso da Windows o dai relativi driver. Per un elenco di questi codici, vedere codici di controllo dei bug.
Tuttavia, anche durante lo sviluppo dei driver, questa routine è di solo utilità limitata, poiché comporta un arresto completo del sistema. Un metodo di debug più efficace consiste nel collegare un debugger del kernel al sistema e quindi usare routine che inviano messaggi al debugger o si interrompono nel debugger. Per altre informazioni, vedere Introduzione a WinDbg (modalità kernel).
Quando un controllo dei bug è inevitabile, la maggior parte dei componenti di sistema chiama KeBugCheckEx, che fornisce altre informazioni sulla causa di tale incoerenza rispetto a KeBugCheck.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione |
ntddk.h (include Ntddk.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | Qualsiasi livello |