Fungsi KeBugCheck (ntddk.h)

Rutinitas KeBugCheck menurunkan sistem dengan cara yang terkontrol ketika penelepon menemukan inkonsistensi yang tidak dapat dipulihkan yang akan merusak sistem jika pemanggil terus berjalan.

Sintaks

void KeBugCheck(
  [in] ULONG BugCheckCode
);

Parameter

[in] BugCheckCode

Menentukan nilai yang menunjukkan alasan pemeriksaan bug.

Nilai kembali

Tidak ada

Keterangan

Pemeriksaan bug adalah kesalahan yang terdeteksi sistem yang menyebabkan penonaktifan sistem langsung dan terkontrol. Berbagai komponen mode kernel melakukan pemeriksaan konsistensi run-time. Ketika komponen seperti itu menemukan inkonsistensi yang tidak dapat dipulihkan, itu menyebabkan pemeriksaan bug dihasilkan.

Jika memungkinkan, semua komponen mode kernel harus mencatat kesalahan dan terus berjalan, daripada memanggil KeBugCheck. Misalnya, jika driver tidak dapat mengalokasikan sumber daya yang diperlukan, itu harus mencatat kesalahan sehingga sistem terus berjalan; tidak boleh menghasilkan pemeriksaan bug.

Driver atau komponen mode kernel lainnya harus memanggil rutinitas ini hanya dalam kasus kesalahan fatal dan tidak dapat dipulihkan yang dapat merusak sistem itu sendiri.

KeBugCheck dapat berguna pada tahap awal mengembangkan driver, atau saat sedang menjalani pengujian. Dalam keadaan ini, BugCheckCode yang diteruskan ke rutinitas ini harus berbeda dari kode-kode yang sudah digunakan oleh Windows atau drivernya. Untuk daftar kode ini, lihat Kode Pemeriksaan Bug.

Namun, bahkan selama pengembangan driver, rutinitas ini hanya dari utilitas terbatas, karena menghasilkan pematian sistem yang lengkap. Metode penelusuran kesalahan yang lebih efektif adalah melampirkan debugger kernel ke sistem dan kemudian menggunakan rutinitas yang mengirim pesan ke debugger atau masuk ke debugger. Untuk informasi selengkapnya, lihat Menggunakan Kode Penelusuran Kesalahan di Driver.

Ketika pemeriksaan bug tidak dapat ditolak, sebagian besar komponen sistem memanggil KeBugCheckEx, yang memberikan informasi lebih lanjut tentang penyebab inkonsistensi tersebut daripada KeBugCheck.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header ntddk.h (termasuk Ntddk.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Tingkat apa pun

Lihat juga

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheckEx

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback