KeBugCheckEx 함수(wdm.h)
KeBugCheckEx 루틴은 호출자가 호출자가 계속 실행될 경우 시스템을 손상시키는 복구할 수 없는 불일치를 발견할 때 제어된 방식으로 시스템을 다운합니다.
통사론
void KeBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR BugCheckParameter1,
[in] ULONG_PTR BugCheckParameter2,
[in] ULONG_PTR BugCheckParameter3,
[in] ULONG_PTR BugCheckParameter4
);
매개 변수
[in] BugCheckCode
버그 검사 이유를 나타내는 값을 지정합니다.
[in] BugCheckParameter1
[in] BugCheckParameter2
[in] BugCheckParameter3
[in] BugCheckParameter4
4개의 BugCheckParameterX 값은 BugCheckCode값에 따라 메모리 손상 오류가 발생한 주소 및 데이터와 같은 추가 정보를 제공합니다.
반환 값
없음
발언
버그 검사는 시스템 감지 오류로 인해 시스템이 즉시 제어되는 종료를 발생합니다. 다양한 커널 모드 구성 요소는 런타임 일관성 검사를 수행합니다. 이러한 구성 요소가 복구할 수 없는 불일치를 발견하면 버그 검사가 생성됩니다.
가능하면 모든 커널 모드 구성 요소는 KeBugCheckEx호출하지 않고 오류를 기록하고 계속 실행해야 합니다. 예를 들어 드라이버가 필요한 리소스를 할당할 수 없는 경우 시스템이 계속 실행되도록 오류를 기록해야 합니다. 버그 검사를 생성해서는 안 됩니다.
드라이버 또는 다른 커널 모드 구성 요소는 시스템 자체를 손상시킬 수 있는 치명적이며 복구할 수 없는 오류의 경우에만 이 루틴을 호출해야 합니다.
KeBugCheckEx 드라이버를 개발하는 초기 단계 또는 테스트를 진행하는 동안 유용할 수 있습니다. 이러한 상황에서 이 루틴에 전달된 BugCheckCode Windows 또는 해당 드라이버에서 이미 사용 중인 코드와 구별되어야 합니다. 이러한 코드 목록은 버그 검사 코드참조하세요.
그러나 드라이버 개발 중에도 전체 시스템 종료가 발생하므로 이 루틴은 제한된 유틸리티일 뿐입니다. 보다 효과적인 디버깅 방법은 커널 디버거를 시스템에 연결한 다음, 디버거에 메시지를 보내거나 디버거에 침입하는 루틴을 사용하는 것입니다. 자세한 내용은 WinDbg 시작(커널 모드)참조하세요.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL |
모든 수준 |