Bagikan melalui


Mulai menggunakan penelusuran kesalahan Windows

Artikel ini membahas cara memulai penelusuran kesalahan untuk Windows. Jika tujuan Anda adalah menggunakan debugger untuk menganalisis crash dump, lihat Menganalisis file crash dump dengan menggunakan WinDbg.

Untuk memulai penelusuran kesalahan Windows, selesaikan langkah-langkah berikut.

1. Identifikasi host dan sistem target

Dua sistem komputer terpisah biasanya digunakan untuk penelusuran kesalahan karena eksekusi instruksi pada prosesor biasanya dijeda selama proses. Debugger berjalan pada sistem host , dan kode yang ingin Anda debug berjalan pada sistem target .

Target --------------------------------------------------> Host <

Diagram illustrating the connection between host and target systems with a double arrow.

Dalam beberapa situasi, dimungkinkan untuk menggunakan komputer virtual sebagai sistem kedua. Misalnya, PC virtual dapat berjalan pada PC yang sama dengan kode yang perlu Anda debug. Namun, jika kode Anda berkomunikasi dengan perangkat keras tingkat rendah, menggunakan PC virtual mungkin bukan pendekatan terbaik. Untuk informasi selengkapnya, lihat Menyiapkan penelusuran kesalahan jaringan komputer virtual - KDNET.

2. Tentukan jenis debugger: mode kernel atau mode pengguna

Selanjutnya, Anda perlu menentukan apakah akan menggunakan debugging mode kernel atau mode pengguna.

  • Sistem operasi dan program istimewa berjalan dalam mode kernel. Kode mode kernel memiliki izin untuk mengakses bagian mana pun dari sistem, dan tidak dibatasi seperti kode mode pengguna. Kode mode kernel dapat memperoleh akses ke bagian mana pun dari proses lain yang berjalan dalam mode pengguna atau mode kernel. Sebagian besar fungsionalitas OS inti dan banyak driver perangkat keras berjalan dalam mode kernel.

  • Aplikasi dan subsistem pada komputer berjalan dalam mode pengguna. Proses yang berjalan dalam mode pengguna melakukannya dalam ruang alamat virtual mereka sendiri. Mereka dibatasi untuk mendapatkan akses langsung ke banyak bagian sistem, termasuk perangkat keras sistem, memori yang tidak dialokasikan untuk penggunaannya, dan bagian lain dari sistem yang mungkin membahayakan integritas sistem. Proses yang berjalan dalam mode pengguna secara efektif diisolasi dari sistem dan dari proses mode pengguna lainnya, sehingga mereka tidak dapat mengganggu sumber daya ini.

Jika tujuan Anda adalah men-debug driver, tentukan apakah driver adalah driver mode kernel atau driver mode pengguna. Driver Windows Driver Model (WDM) dan Kernel-Mode Driver Framework (KMDF) keduanya adalah driver mode kernel. Seperti namanya, driver User-Mode Driver Framework (UMDF) adalah driver mode pengguna.

Untuk beberapa masalah, mungkin sulit untuk menentukan mode mana kode dijalankan. Dalam hal ini, Anda mungkin perlu memilih satu mode dan melihat informasi apa yang tersedia dalam mode tersebut. Beberapa masalah mengharuskan penggunaan debugger dalam mode pengguna dan mode kernel.

Bergantung pada mode mana Anda melakukan debug, Anda mungkin perlu mengonfigurasi dan menggunakan debugger dengan cara yang berbeda. Beberapa perintah penelusuran kesalahan beroperasi sama di kedua mode, dan beberapa perintah beroperasi secara berbeda.

Pelajari selengkapnya tentang menggunakan debugger dalam mode kernel:

Pelajari selengkapnya tentang menggunakan debugger dalam mode pengguna:

3. Pilih lingkungan debugger Anda

Debugger WinDbg berfungsi dengan baik di sebagian besar situasi, tetapi ada kalanya Anda mungkin ingin menggunakan debugger lain, seperti debugger konsol untuk otomatisasi atau Visual Studio. Untuk informasi selengkapnya, lihat Lingkungan penelusuran kesalahan.

4. Tentukan cara menyambungkan target dan host

Biasanya, sistem target dan host terhubung oleh jaringan Ethernet. Jika Anda melakukan pekerjaan bawaan lebih awal, atau Anda tidak memiliki koneksi Ethernet pada perangkat, opsi koneksi jaringan lainnya tersedia. Untuk informasi selengkapnya, lihat artikel berikut ini:

5. Pilih alat debugging 32-bit atau 64-bit

Apakah Anda memerlukan debugger 32-bit atau 64-bit tergantung pada versi Windows yang berjalan pada sistem target dan host dan apakah Anda menelusuri kesalahan kode 32-bit atau 64-bit. Untuk informasi selengkapnya, lihat Memilih alat penelusuran kesalahan 32-bit atau 64-bit.

6. Mengonfigurasi simbol

Untuk menggunakan semua fungsionalitas tingkat lanjut yang disediakan WinDbg, Anda harus memuat simbol yang tepat. Jika Anda tidak memiliki simbol yang dikonfigurasi dengan benar, Anda akan menerima pesan yang menunjukkan bahwa simbol tidak tersedia ketika Anda mencoba menggunakan fungsionalitas yang bergantung pada simbol. Untuk informasi selengkapnya, lihat Simbol untuk penelusuran kesalahan Windows.

7. Mengonfigurasi kode sumber

Jika tujuan Anda adalah men-debug kode sumber Anda sendiri, Anda perlu mengonfigurasi jalur ke kode sumber Anda. Untuk informasi selengkapnya, lihat Jalur sumber.

8. Menjadi terbiasa dengan operasi debugger

Bagian operasi Debugger dari dokumentasi ini menjelaskan operasi debugger untuk berbagai tugas. Misalnya, Memuat DLL ekstensi debugger menjelaskan cara memuat ekstensi debugger.

9. Menjadi terbiasa dengan teknik debugging

Teknik penelusuran kesalahan standar berlaku untuk sebagian besar skenario penelusuran kesalahan, dan contohnya termasuk mengatur titik henti, memeriksa tumpukan panggilan, dan menemukan kebocoran memori. Teknik penelusuran kesalahan khusus berlaku untuk teknologi atau jenis kode tertentu. Contohnya termasuk penelusuran kesalahan Plug and Play, penelusuran kesalahan KMDF, dan penelusuran kesalahan RPC.

10. Gunakan perintah referensi debugger

Anda dapat menggunakan perintah penelusuran kesalahan yang berbeda saat Anda bekerja di debugger. Gunakan perintah .hh di debugger untuk menampilkan informasi bermanfaat tentang perintah penelusuran kesalahan apa pun. Untuk informasi selengkapnya tentang perintah yang tersedia, lihat Referensi debugger.

11. Gunakan ekstensi penelusuran kesalahan untuk teknologi tertentu

Ada beberapa ekstensi penelusuran kesalahan yang dapat digunakan untuk mengurai struktur data khusus domain. Untuk informasi selengkapnya, lihat Ekstensi khusus.

Dokumentasi ini mengasumsikan bahwa Anda memiliki beberapa pengetahuan tentang internal Windows inti. Untuk mempelajari selengkapnya tentang internal Windows, termasuk penggunaan memori, konteks, utas, dan proses, Anda dapat meninjau sumber daya seperti Windows Internals oleh Pavel Yosifovich, Mark E. Russinovich, David A. Solomon dan Alex Ionescu.

13. Tinjau sumber daya penelusuran kesalahan tambahan

Sumber daya lainnya termasuk buku dan video berikut:

  • Di dalam Windows Debugging: Strategi Penelusuran Kesalahan dan Pelacakan Praktis oleh Tarik Soulami
  • Debugging Windows Tingkat Lanjut oleh Mario Hewardt dan Daniel Pravat
  • Seri video Defrag Tools, episode 13 hingga 29, semuanya tentang WinDbg

Baca juga