Bagikan melalui


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 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) (Cuplikan layar tombol Jendela Perintah Debugger.

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 di 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 keadaan sibuk ini, tidak ada permintaan yang ditampilkan. Ketika WinDbg dalam keadaan sibuk ini, indikator berikut akan muncul sebagai pengganti 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 lainnya 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 batasannya, 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 memperluas 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 kode dan mengetik simbol 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 bisa Anda gunakan untuk menghindari harus mengetik ulang frasa kompleks. Ada dua jenis alias. Untuk informasi selengkapnya tentang alias, lihat Menggunakan Alias.

Perintah Self-Repeating

Anda dapat menggunakan perintah berikut untuk mengulangi tindakan atau menjalankan perintah lain secara kondisional:

Untuk informasi selengkapnya tentang setiap perintah, lihat topik perintah individual.

Mengontrol Pengguliran

Anda dapat menggunakan bilah gulir untuk melihat perintah Anda sebelumnya dan outputnya.

Saat Anda menggunakan CDB atau KD, entri keyboard apa pun secara otomatis menggulir ke bawah jendela Perintah Debugger kembali ke 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 menyala dan menonaktifkan status pembungkus 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 | Perintah menu Tambahkan ke 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 penelusuran kesalahan 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.