Funzione KeBugCheckEx (wdm.h)
La routine KeBugCheckEx riduce il sistema in modo controllato quando il chiamante individua una incoerenza non recuperabile che potrebbe danneggiare il sistema se il chiamante ha continuato a eseguire.
Sintassi
void KeBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR BugCheckParameter1,
[in] ULONG_PTR BugCheckParameter2,
[in] ULONG_PTR BugCheckParameter3,
[in] ULONG_PTR BugCheckParameter4
);
Parametri
[in] BugCheckCode
Specifica un valore che indica il motivo del controllo del bug.
[in] BugCheckParameter1
[in] BugCheckParameter2
[in] BugCheckParameter3
[in] BugCheckParameter4
I quattro valori BugCheckParameterX forniscono informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria, a seconda del valore di BugCheckCode.
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 individua una inconsistenza non recuperabile, causa la generazione di un controllo di bug.
Se possibile, tutti i componenti in modalità kernel devono registrare un errore e continuare a essere eseguiti, anziché chiamare KeBugCheckEx. Ad esempio, se un driver non è in grado di allocare le risorse necessarie, deve registrare un errore in modo che il sistema continui a essere eseguito; non deve generare un controllo di bug.
Un driver o un altro componente in modalità kernel deve chiamare questa routine solo in caso di errore irreversibile, non recuperabile che potrebbe danneggiare il sistema stesso.
KeBugCheckEx può essere utile nelle prime fasi dello sviluppo di un driver o durante il test. In queste circostanze, BugCheckCode passato a questa routine deve essere distinto da tali codici già in uso da Windows o dai relativi driver. Per un elenco di questi codici, vedere Codici di controllo bug.
Tuttavia, anche durante lo sviluppo del 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 Uso del codice di debug in un driver.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 2000 e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualsiasi livello |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per