Поделиться через


Функция KeBugCheck (ntddk.h)

Программа KeBugCheck приводит к сбою системы в управляемом режиме, когда вызывающий обнаруживает неустранимую несогласованность, которая повредит систему, если вызывающий объект продолжал работать.

Синтаксис

void KeBugCheck(
  [in] ULONG BugCheckCode
);

Параметры

[in] BugCheckCode

Указывает значение, указывающее причину проверки ошибки.

Возвращаемое значение

Никакой

Замечания

Проверка ошибок — это обнаруженная системой ошибка, которая приводит к немедленному завершению работы системы. Различные компоненты режима ядра выполняют проверку согласованности во время выполнения. Когда такой компонент обнаруживает неустранимую несогласованность, это приводит к возникновению ошибки.

По возможности все компоненты режима ядра должны регистрировать ошибку и продолжать выполняться, а не вызывать KeBugCheck. Например, если драйвер не может выделить необходимые ресурсы, он должен регистрировать ошибку, чтобы система продолжала работать; Он не должен генерировать проверку ошибок.

Драйвер или другой компонент режима ядра должен вызывать эту подпрограмму только в случаях неустранимой ошибки, которая может повредить саму систему.

KeBugCheck может оказаться полезным на ранних этапах разработки драйвера или во время тестирования. В этих случаях BugCheckCode, передаваемых этой подпрограмме, должны отличаться от этих кодов, которые уже используются в Windows или его драйверах. Список этих кодов см. в кодов проверки ошибок.

Однако даже во время разработки драйверов эта подпрограмма имеет только ограниченную служебную программу, так как она приводит к полному завершению работы системы. Более эффективный метод отладки заключается в подключении отладчика ядра к системе, а затем использовать подпрограммы, которые отправляют сообщения отладчику или разрываются в отладчик. Дополнительные сведения см. в разделе Начало работы с WinDbg (режим ядра).

Если проверка ошибок неизбежна, большинство системных компонентов вызывают KeBugCheckEx, что предоставляет дополнительные сведения о причине такого несоответствия, чем KeBugCheck.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка ntddk.h (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень

См. также

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheckEx

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback