Bagikan melalui


Penelusuran Kesalahan Kernel-Mode Lokal

Alat Penelusuran Kesalahan untuk Windows mendukung penelusuran kesalahan kernel lokal. Ini adalah penelusuran kesalahan mode kernel pada satu komputer. Dengan kata lain, debugger berjalan pada komputer yang sama yang sedang di-debug.

Menyiapkan Penelusuran Kesalahan Kernel-Mode Lokal

Untuk informasi tentang menyiapkan penelusuran kesalahan mode kernel lokal, lihat Menyiapkan Debugging Kernel-Mode Lokal dari Satu Komputer Secara Manual.

Memulai Sesi Penelusuran Kesalahan

Menggunakan WinDbg

Buka WinDbg sebagai Administrator. Pada menu File , pilih Kernel Debug. Dalam kotak dialog Penelusuran Kesalahan Kernel, buka tab Lokal . Pilih OK.

Anda juga dapat memulai sesi dengan WinDbg dengan membuka jendela Prompt Perintah sebagai Administrator dan memasukkan perintah berikut:

windbg -kl

Menggunakan KD

Buka jendela Prompt Perintah sebagai Administrator, dan masukkan perintah berikut:

kd -kl

Perintah yang Tidak Tersedia

Tidak semua perintah tersedia dalam sesi penelusuran kesalahan kernel lokal. Biasanya, Anda tidak dapat menggunakan perintah apa pun yang menyebabkan komputer target berhenti, bahkan sesaat, karena Anda tidak dapat melanjutkan operasi.

Secara khusus, Anda tidak dapat menggunakan perintah berikut:

  • Perintah eksekusi, seperti g (Go), p (Step), t (Trace), wt (Trace and Watch Data), tb (Trace to Next Branch), gh (Go with Exception Handled), dan gn (Go with Exception Not Handled)

  • Perintah matikan dan buang file, seperti .crash, .dump, dan .reboot

  • Perintah titik henti, seperti bp, bu, ba, bc, bd, be, dan bl

  • Mendaftarkan perintah tampilan, seperti r dan variasi

  • Perintah pelacakan tumpukan, seperti k dan variasi

Jika Anda melakukan penelusuran kesalahan kernel lokal dengan WinDbg, semua perintah dan tombol menu yang setara juga tidak tersedia.

Perintah yang Tersedia

Semua perintah input dan output memori tersedia. Anda dapat dengan bebas membaca dari memori pengguna dan memori kernel. Anda juga dapat menulis ke memori. Pastikan Anda tidak menulis ke bagian memori kernel yang salah, karena dapat merusak struktur data dan sering menyebabkan komputer berhenti merespons (yaitu , crash).

Kesulitan dalam Melakukan Debugging Kernel Lokal

Penelusuran kesalahan kernel lokal adalah operasi yang sangat halus. Berhati-hatilah agar Anda tidak merusak atau merusak sistem.

Salah satu aspek paling sulit dari penelusuran kesalahan kernel lokal adalah bahwa status komputer terus berubah. Memori di-paged in dan out, proses aktif terus berubah, dan konteks alamat virtual tidak tetap konstan. Namun, dalam kondisi ini, Anda dapat menganalisis hal-hal yang berubah secara efektif secara perlahan, seperti status perangkat tertentu.

Driver mode kernel dan sistem operasi Windows sering mengirim pesan ke debugger kernel dengan menggunakan DbgPrint dan fungsi terkait. Pesan ini tidak ditampilkan secara otomatis selama penelusuran kesalahan kernel lokal. Anda dapat menampilkannya dengan menggunakan ekstensi !dbgprint .

LiveKD

Alat LiveKD mensimulasikan penelusuran kesalahan kernel lokal. Alat ini membuat file cadangan "rekam jepret" dari memori kernel, tanpa benar-benar menghentikan kernel saat rekam jepret ini dibuat. (Oleh karena itu, rekam jepret mungkin tidak benar-benar menunjukkan satu status instan komputer.)

LiveKD bukan bagian dari paket Alat Debugging untuk Windows. Anda dapat mengunduh LiveKd dari situs Windows Sysinternals.