Freigeben über


KeBugCheck-Funktion (ntddk.h)

Die KeBugCheck-Routine führt das System auf kontrollierte Weise herunter, wenn der Aufrufer eine nicht behebbare Inkonsistenz erkennt, die das System beschädigen würde, wenn der Aufrufer weiterhin ausgeführt wird.

Syntax

void KeBugCheck(
  [in] ULONG BugCheckCode
);

Parameter

[in] BugCheckCode

Gibt einen Wert an, der den Grund für die Fehlerüberprüfung angibt.

Rückgabewert

Keine

Bemerkungen

Eine Fehlerüberprüfung ist ein vom System erkannter Fehler, der zu einem sofortigen, kontrollierten Herunterfahren des Systems führt. Verschiedene Kernelmoduskomponenten führen eine Laufzeitkonsistenzüberprüfung durch. Wenn eine solche Komponente eine nicht wiederherstellbare Inkonsistenz erkennt, wird eine Fehlerüberprüfung generiert.

Wenn möglich, sollten alle Kernelmoduskomponenten einen Fehler protokollieren und weiterhin ausgeführt werden, anstatt KeBugCheck aufzurufen. Wenn ein Treiber beispielsweise die erforderlichen Ressourcen nicht zuordnen kann, sollte er einen Fehler protokollieren, damit das System weiterhin ausgeführt wird. Es darf keine Fehlerprüfung generiert werden.

Ein Treiber oder eine andere Kernelmoduskomponente sollte diese Routine nur in Fällen eines schwerwiegenden, nicht behebbaren Fehlers aufrufen, der das System selbst beschädigen könnte.

KeBugCheck kann in der frühen Phase der Entwicklung eines Treibers oder während der Testphase nützlich sein. Unter diesen Umständen sollte sich der an diese Routine übergebene BugCheckCode von den Codes unterscheiden, die bereits von Windows oder seinen Treibern verwendet werden. Eine Liste dieser Codes finden Sie unter Fehlerprüfcodes.

Allerdings ist diese Routine auch während der Treiberentwicklung nur von begrenztem Nutzen, da sie zu einem vollständigen Herunterfahren des Systems führt. Eine effektivere Debugmethode besteht darin, einen Kerneldebugger an das System anzufügen und dann Routinen zu verwenden, die Nachrichten an den Debugger senden oder in den Debugger einteilen. Weitere Informationen finden Sie unter Verwenden von Debugcode in einem Treiber.

Wenn eine Fehlerüberprüfung unvermeidbar ist, rufen die meisten Systemkomponenten KeBugCheckEx auf, die mehr Informationen zur Ursache einer solchen Inkonsistenz als KeBugCheck bereitstellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheckEx

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback