Функция 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 | Любой уровень |