Menggunakan Perintah Debugger
Ini menjelaskan penggunaan perintah debugger. WinDbg adalah debugger yang dapat digunakan untuk menganalisis crash dump, men-debug mode pengguna langsung dan kode mode kernel, dan memeriksa register dan memori CPU. Untuk informasi selengkapnya, lihat Gambaran Umum WinDbg.
Untuk menginstal debugger, lihat Menginstal debugger Windows.
Untuk mulai menggunakan WinDbg, lihat Memulai Penelusuran Kesalahan Windows.
Jendela Perintah Debugger WinDbg
Untuk WinDbg, "Jendela Perintah Debugger" mengacu pada jendela berlabel "Perintah" di bilah judul. Jendela ini berisi dua panel:
Di panel kecil dan bawah, Anda memasukkan perintah.
Di panel atas yang besar, Anda menampilkan output perintah.
Jendela ini selalu terbuka di awal sesi penelusuran kesalahan. Anda dapat membuka kembali atau beralih ke jendela ini dengan memilih Perintah pada menu Tampilan, menekan ALT+1, atau memilih tombol Perintah (Alt+1) (
Anda dapat menggunakan tombol PANAH ATAS dan PANAH BAWAH untuk menggulir riwayat perintah. Saat perintah sebelumnya muncul, Anda dapat mengeditnya lalu menekan ENTER untuk menjalankan perintah sebelumnya (atau versi perintah sebelumnya yang diedit). Kursor tidak harus berada di akhir baris agar prosedur ini berfungsi dengan benar.
KD atau CDB
Untuk KD atau CDB, "Jendela Perintah Debugger" mengacu pada seluruh jendela. Anda memasukkan perintah pada prompt di bagian bawah jendela. Jika perintah memiliki output apa pun, jendela menampilkan output lalu menampilkan perintah lagi.
Prompt Jendela Perintah Debugger
Saat Anda melakukan penelusuran kesalahan mode pengguna, perintah di jendela Perintah Debugger terlihat seperti contoh berikut.
2:005>
Dalam contoh sebelumnya, 2 adalah nomor proses saat ini, dan 005 adalah nomor utas saat ini.
Jika Anda melampirkan debugger ke lebih dari satu komputer, nomor sistem disertakan sebelum proses dan nomor utas, seperti dalam contoh berikut.
3:2:005>
Dalam contoh ini, 3 adalah nomor sistem saat ini, 2 adalah nomor proses saat ini, dan 005 adalah nomor utas saat ini.
Saat Anda melakukan penelusuran kesalahan mode kernel pada komputer target yang hanya memiliki satu prosesor, perintah terlihat seperti contoh berikut.
kd>
Namun, jika komputer target memiliki beberapa prosesor, jumlah prosesor saat ini muncul sebelum perintah, seperti dalam contoh berikut.
0: kd>
Jika debugger sibuk memproses perintah yang dikeluarkan sebelumnya, perintah baru untuk sementara tidak akan diproses, meskipun dapat ditambahkan ke buffer perintah. Selain itu, Anda masih dapat menggunakan kunci kontrol di KD dan CDB, dan Anda masih dapat menggunakan perintah menu dan kunci pintasan di WinDbg. Ketika KD atau CDB dalam status sibuk ini, tidak ada permintaan yang ditampilkan. Ketika WinDbg dalam status sibuk ini, indikator berikut akan muncul sebagai ganti perintah:
*BUSY*
Anda dapat menggunakan perintah .pcmd (Set Prompt Command) untuk menambahkan teks ke prompt ini.
Jenis Perintah
WinDbg, KD, dan CDB mendukung berbagai perintah. Beberapa perintah dibagikan antara debugger, dan beberapa hanya tersedia pada satu atau dua debugger.
Beberapa perintah hanya tersedia dalam penelusuran kesalahan langsung, dan perintah lain hanya tersedia saat Anda men-debug file cadangan.
Beberapa perintah hanya tersedia selama penelusuran kesalahan mode pengguna, dan perintah lain hanya tersedia selama penelusuran kesalahan mode kernel.
Beberapa perintah hanya tersedia ketika target berjalan pada prosesor tertentu. Untuk informasi selengkapnya tentang semua perintah dan pembatasannya, lihat Perintah Debugger.
Perintah Pengeditan, Pengulangan, dan Pembatalan
Anda dapat menggunakan kunci pengeditan standar saat memasukkan perintah:
Gunakan tombol PANAH ATAS dan PANAH BAWAH untuk menemukan perintah sebelumnya.
Edit perintah saat ini dengan tombol BACKSPACE, DELETE, INSERT, dan LEFT ARROW dan RIGHT ARROW.
Tekan tombol ESC untuk menghapus baris saat ini.
Anda dapat menekan tombol TAB untuk menyelesaikan entri teks Anda secara otomatis. Di salah satu debugger, tekan tombol TAB setelah Anda memasukkan setidaknya satu karakter untuk menyelesaikan perintah secara otomatis. Tekan tombol TAB berulang kali untuk menelusuri opsi penyelesaian teks, dan tahan tombol SHIFT dan tekan TAB untuk berputar mundur. Anda juga dapat menggunakan karakter kartubebas dalam teks dan menekan TAB untuk memperluas ke kumpulan lengkap opsi penyelesaian teks. Misalnya, jika Anda mengetik fo*!ba lalu menekan TAB, debugger akan meluas ke set semua simbol yang dimulai dengan "ba", di semua modul dengan nama modul yang dimulai dengan "fo". Sebagai contoh lain, Anda dapat menyelesaikan semua perintah ekstensi yang memiliki "prcb" di dalamnya dengan mengetik !*prcb lalu menekan TAB.
Saat Anda menggunakan tombol TAB untuk melakukan penyelesaian teks, jika fragmen teks Anda dimulai dengan titik (.), teks dicocokkan dengan perintah titik. Jika fragmen teks Anda dimulai dengan tanda seru (!), teks dicocokkan dengan perintah ekstensi. Jika tidak, teks dicocokkan dengan simbol. Saat Anda menggunakan tombol TAB untuk memasukkan simbol, menekan tombol TAB melengkapi kode dan mengetik simbol dan nama modul. Jika tidak ada nama modul yang jelas, simbol lokal dan nama modul akan selesai. Jika modul atau pola modul diberikan, penyelesaian simbol melengkapi simbol kode dan jenis dari semua kecocokan.
Anda dapat memilih dan menahan (atau klik kanan) di jendela Perintah Debugger untuk menempelkan konten clipboard secara otomatis ke dalam perintah yang Anda ketik.
Panjang perintah maksimum adalah 4096 karakter. Namun, jika Anda mengontrol debugger mode pengguna dari debugger kernel, panjang baris maksimum adalah 512 karakter.
Di CDB dan KD, tekan tombol ENTER dengan sendirinya untuk mengulangi perintah sebelumnya. Di WinDbg, Anda dapat mengaktifkan atau menonaktifkan perilaku ini. Untuk informasi selengkapnya tentang perilaku ini, lihat ENTER (Ulangi Perintah Terakhir).
Jika perintah terakhir yang Anda keluarkan menyajikan tampilan panjang dan Anda ingin memotongnya, gunakan kunci CTRL+C di CDB atau KD. Di WinDbg, gunakan Debug | Putuskan atau tekan CTRL+BREAK.
Dalam penelusuran kesalahan mode kernel, Anda dapat membatalkan perintah dari keyboard komputer target dengan menekan CTRL+C.
Anda dapat menggunakan perintah .cls (Clear Screen) untuk menghapus semua teks dari jendela Perintah Debugger. Perintah ini menghapus seluruh riwayat perintah. Di WinDbg, Anda dapat menghapus riwayat perintah dengan menggunakan Edit | Hapus perintah Output Perintah atau dengan memilih Hapus output perintah pada menu pintasan jendela Perintah Debugger.
Sintaks Ekspresi
Banyak perintah dan perintah ekstensi menerima ekspresi sebagai argumennya. Debugger mengevaluasi ekspresi ini sebelum menjalankan perintah. Untuk informasi selengkapnya tentang ekspresi, lihat Mengevaluasi Ekspresi.
Alias
Alias adalah makro teks yang dapat Anda gunakan untuk menghindari harus mengetik ulang frasa kompleks. Ada dua jenis alias. Untuk informasi selengkapnya tentang alias, lihat Menggunakan Alias.
Perintah Berulang Sendiri
Anda dapat menggunakan perintah berikut untuk mengulangi tindakan atau menjalankan perintah lain secara kondisional:
Pengukur perintah ~e (Perintah Khusus Utas)
Untuk informasi selengkapnya tentang setiap perintah, lihat topik perintah individual.
Mengontrol Pengguliran
Anda dapat menggunakan bilah gulir untuk melihat perintah sebelumnya dan outputnya.
Saat Anda menggunakan CDB atau KD, entri keyboard apa pun secara otomatis menggulir ke bawah jendela Perintah Debugger kembali ke bagian bawah.
Di WinDbg, tampilan secara otomatis menggulir ke bawah ke bawah setiap kali perintah menghasilkan output atau Anda menekan tombol ENTER. Jika Anda ingin menonaktifkan pengguliran otomatis ini, pilih Opsi pada menu Tampilan lalu kosongkan kotak centang Gulir otomatis.
Fitur Teks WinDbg
Di WinDbg, Anda dapat menggunakan beberapa fitur tambahan untuk mengubah cara teks ditampilkan di jendela Perintah Debugger. Anda dapat mengakses beberapa fitur ini di jendela WinDbg, beberapa di menu pintasan di jendela Perintah Debugger, dan beberapa dengan memilih ikon menu yang sesuai.
Perintah bungkus Word pada menu pintasan mengaktifkan dan menonaktifkan status bungkus kata. Perintah ini memengaruhi seluruh jendela, tidak hanya perintah yang Anda gunakan setelah status ini diubah. Karena banyak perintah dan ekstensi menghasilkan tampilan berformat, kami biasanya tidak merekomendasikan pembungkus kata.
Edit | Tambahkan ke perintah menu Output Perintah menambahkan komentar di jendela Perintah Debugger. Perintah Tambahkan ke output perintah pada menu pintasan memiliki efek yang sama.
Anda dapat menyesuaikan warna yang digunakan untuk teks dan latar belakang jendela Perintah Debugger. Anda dapat menentukan warna yang berbeda untuk berbagai jenis teks. Misalnya, Anda dapat menampilkan output register otomatis dalam satu warna, pesan kesalahan dalam warna lain, dan pesan DbgPrint dalam warna ketiga.
Anda dapat menggunakan semua fitur yang umum untuk jendela informasi debugging WinDbg, seperti menyesuaikan font dan menggunakan perintah pengeditan khusus.
Penelusuran Kesalahan Jarak Jauh
Saat Anda melakukan penelusuran kesalahan jarak jauh melalui debugger, klien penelusuran kesalahan dapat mengakses sejumlah perintah terbatas. Untuk mengubah jumlah perintah yang dapat diakses klien, gunakan opsi baris perintah -clines atau variabel lingkungan _NT_DEBUG_HISTORY_SIZE.