Bagikan melalui


Debugging User-Mode Proses Tanpa Simbol

Penting untuk memiliki simbol pada mesin yang rusak sebelum memulai debugger untuk kegagalan mode pengguna. Namun, terkadang debugger dimulai tanpa simbol. Jika masalah mudah direproduksi, Anda hanya dapat menyalin simbol dan menjalankan ulang. Namun, jika masalah mungkin tidak terjadi lagi, beberapa informasi masih dapat dipancarkan dari kegagalan:

  1. Untuk mengetahui apa arti alamat, Anda memerlukan komputer yang cocok dengan yang memiliki kesalahan. Ini harus memiliki platform yang sama (x86 atau x64) dan dimuat dengan versi Windows yang sama.

  2. Setelah komputer dikonfigurasi, salin simbol mode pengguna dan biner yang ingin Anda debug ke komputer baru.

  3. Mulai CDB atau WinDbg pada mesin tanpa simbol.

  4. Jika Anda tidak tahu aplikasi mana yang gagal pada mesin tanpa simbol, terbitkan | (Status Proses) Perintah. Jika itu tidak memberi Anda nama, pecahkan ke KD pada mesin tanpa simbol dan lakukan !process 0 0, cari ID proses yang diberikan oleh perintah CDB.

  5. Ketika Anda menyiapkan dua debugger -- satu dengan simbol yang belum mencapai kesalahan, dan yang telah mencapai kesalahan tetapi tanpa simbol -- mengeluarkan perintah k (Display Stack Backtrace) pada mesin tanpa simbol.

  6. Pada mesin dengan simbol, terbitkan perintah u (Tidak Dapat Dirakit) untuk setiap alamat yang diberikan pada tumpukan tanpa simbol. Ini akan memberi Anda jejak tumpukan untuk kesalahan pada mesin tanpa simbol.

  7. Dengan melihat jejak tumpukan, Anda dapat melihat modul dan nama fungsi yang terlibat dalam panggilan.