Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ada enam lingkungan penelusuran kesalahan yang tersedia:
- WinDbg
- WinDbg (Klasik)
- Debugger Kernel (KD)
- NTKD
- Debugger Konsol (CDB)
- Debugger Simbolik NT (NTSD)
Bagian berikut menjelaskan lingkungan penelusuran kesalahan.
WinDbg
WinDbg adalah versi terbaru dari WinDbg dengan visual modern, jendela yang lebih cepat, dan pengalaman pembuatan skrip yang lengkap, dibangun dengan model data debugger yang dapat diperluas sebagai fokus utama. WinDbg menggunakan mesin yang mendasar yang sama dengan WinDbg (Klasik), sehingga semua perintah, ekstensi, dan alur kerja yang biasa Anda gunakan masih akan berfungsi seperti sebelumnya.
Untuk informasi selengkapnya, lihat Fitur WinDbg
WinDbg (Klasik)
Microsoft Windows Debugger WinDbg (Klasik) adalah debugger berbasis Windows yang mampu melakukan debugging mode pengguna dan mode kernel. WinDbg menyediakan debugging untuk kernel Windows, driver mode kernel, dan layanan sistem, serta aplikasi dan driver mode pengguna.
WinDbg menggunakan format simbol debug Visual Studio untuk penelusuran kesalahan tingkat sumber. Ini dapat mengakses simbol atau variabel apa pun dari modul yang memiliki file simbol PDB dan dapat mengakses nama fungsi publik apa pun yang diekspos oleh modul yang dikompilasi dengan file simbol COFF (seperti file Windows .dbg).
WinDbg dapat melihat kode sumber, mengatur titik henti, melihat variabel (termasuk objek C++), jejak tumpukan, dan memori. Jendela Perintah Debugger-nya memungkinkan pengguna untuk mengeluarkan berbagai perintah.
Untuk penelusuran kesalahan mode kernel, WinDbg biasanya memerlukan dua komputer (komputer host dan komputer target). WinDbg juga mendukung berbagai opsi debugging jarak jauh untuk target dalam mode pengguna dan mode kernel.
WinDbg adalah versi antarmuka grafis dari perangkat lunak CDB/NTSD dan KD/NTKD.
KD
Microsoft Kernel Debugger (KD) adalah program konsol berbasis karakter yang memungkinkan analisis mendalam aktivitas mode kernel pada semua sistem operasi berbasis NT. Anda dapat menggunakan KD untuk men-debug komponen dan driver mode kernel atau untuk memantau perilaku sistem operasi itu sendiri. KD juga mendukung debugging multiprosesor.
Biasanya, KD tidak berjalan pada komputer yang sedang di-debug. Anda memerlukan dua komputer (komputer host dan komputer target ) untuk debugging mode kernel.
NTKD
Ada variasi debugger KD bernama NTKD. Ini identik dengan KD dalam segala hal, kecuali bahwa itu membuka jendela teks baru ketika dimulai, sedangkan KD mewarisi jendela Command Prompt tempatnya dipanggil.
CDB
Microsoft Console Debugger (CDB) adalah program konsol berbasis karakter yang memungkinkan analisis tingkat rendah memori dan konstruksi mode pengguna Windows. Nama Console Debugger digunakan untuk menunjukkan fakta bahwa CDB diklasifikasikan sebagai aplikasi konsol; tidak menyiratkan bahwa aplikasi target harus merupakan aplikasi konsol. Bahkan, CDB sepenuhnya mampu men-debug aplikasi konsol dan program Windows grafis.
CDB sangat kuat untuk men-debug program yang saat ini berjalan atau baru-baru ini mengalami crash (analisis langsung), namun sederhana untuk disiapkan. Ini dapat digunakan untuk menyelidiki perilaku aplikasi yang berfungsi. Dalam kasus aplikasi yang gagal, CDB dapat digunakan untuk mendapatkan trace stack atau untuk melihat parameter yang menyebabkan kesalahan. Ini berfungsi dengan baik di seluruh jaringan (menggunakan server akses jarak jauh), karena berbasis karakter.
Dengan CDB, Anda dapat menampilkan dan menjalankan kode program, mengatur titik henti, dan memeriksa dan mengubah nilai dalam memori. CDB dapat menganalisis kode biner dengan membongkarnya dan menampilkan instruksi perakitan. Ini juga dapat menganalisis kode sumber secara langsung.
Karena CDB dapat mengakses lokasi memori melalui alamat atau simbol global, Anda dapat merujuk ke data dan instruksi berdasarkan nama daripada berdasarkan alamat, sehingga mudah untuk menemukan dan men-debug bagian kode tertentu. CDB mendukung debugging beberapa utas dan proses. Ini dapat diperluas dan dapat membaca serta menulis memori berhalaman dan memori tanpa halaman.
Jika aplikasi target itu sendiri adalah aplikasi konsol, target akan berbagi jendela konsol dengan CDB. Untuk menelurkan jendela konsol terpisah untuk aplikasi konsol target, gunakan opsi baris perintah -2.
NTSD
Ada variasi debugger CDB bernama Microsoft NT Symbolic Debugger (NTSD). Ini identik dengan CDB dalam segala hal, kecuali bahwa itu menghasilkan jendela teks baru ketika dimulai, sedangkan CDB mewarisi jendela Prompt Perintah tempatnya dipanggil.
Karena perintah mulai juga dapat digunakan untuk menelurkan jendela konsol baru, dua konstruksi berikut akan memberikan hasil yang sama:
start cdb parameters
ntsd parameters
Dimungkinkan untuk mengalihkan input dan output dari NTSD (atau CDB) sehingga dapat dikontrol dari debugger kernel (baik Visual Studio, WinDbg, atau KD). Jika teknik ini digunakan dengan NTSD, tidak ada jendela konsol yang akan muncul. Mengontrol NTSD dari debugger kernel oleh karena itu sangat berguna karena menghasilkan debugger yang sangat ringan yang menempatkan hampir tidak ada beban pada komputer yang berisi aplikasi target. Kombinasi ini dapat digunakan untuk men-debug proses sistem, mematikan, dan tahap boot up selanjutnya. Lihat Mengontrol Mode Debugger Pengguna dari Debugger Kernel untuk detailnya.