Fungsi KdRefreshDebuggerNotPresent (wdm.h)
Makro KdRefreshDebuggerNotPresent me-refresh nilai variabel kernel global KD_DEBUGGER_NOT_PRESENT .
Sintaks
BOOLEAN KdRefreshDebuggerNotPresent();
Mengembalikan nilai
KdRefreshDebuggerNotPresent mengembalikan nilai KD_DEBUGGER_NOT_PRESENT.
Keterangan
Ketika KdRefreshDebuggerNotPresent dipanggil, KdRefreshDebuggerNotPresent memaksa nilai KD_DEBUGGER_NOT_PRESENT diperbarui untuk mencerminkan apakah debugger kernel saat ini dilampirkan. Nilai yang diperbarui ini juga digunakan sebagai nilai pengembalian dari rutinitas ini.
Jika debugger kernel baru-baru ini dilampirkan atau dihapus, nilai KD_DEBUGGER_NOT_PRESENT mungkin tidak mencerminkan status baru. Jika Anda menduga ini telah terjadi, Anda harus memanggil KdRefreshDebuggerNotPresent untuk menyegarkan nilai variabel ini. Setelah panggilan ini, Anda dapat menggunakan nilai KD_DEBUGGER_NOT_PRESENT atau nilai pengembalian KdRefreshDebuggerNotPresent untuk menentukan apakah debugger kernel ada.
KD_DEBUGGER_NOT_PRESENT dapat dimodifikasi oleh Windows atau biner mode kernel lainnya. Oleh karena itu, ada kemungkinan bahwa nilai pengembalian terbaru dari KdRefreshDebuggerNotPresent mungkin tidak cocok dengan nilai KD_DEBUGGER_NOT_PRESENT saat ini.
Contoh berikut menunjukkan cara menggunakan KdRefreshDebuggerNotPresent:
if (KdRefreshDebuggerNotPresent() == FALSE)
{
// A kernel debugger is active.
DbgPrint("A problem occurred\n");
DbgBreakPoint();
}
else
{
// No kernel debugger attached, or kernel debugging not enabled.
KeBugCheckEx(...);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk