Metode Mengontrol Titik Henti
Anda dapat menentukan lokasi titik henti berdasarkan alamat virtual, modul, dan offset rutin, atau file sumber dan nomor baris (saat dalam mode sumber). Jika Anda meletakkan titik henti pada rutinitas tanpa offset, titik henti diaktifkan saat rutinitas tersebut dimasukkan.
Ada beberapa jenis titik henti tambahan:
Titik henti dapat dikaitkan dengan utas tertentu.
Titik henti dapat mengaktifkan jumlah tetap yang melewati alamat sebelum dipicu.
Titik henti dapat secara otomatis mengeluarkan perintah tertentu saat dipicu.
Titik henti dapat diatur pada memori yang tidak dapat dieksekusi dan watch agar lokasi tersebut dibaca atau ditulis.
Jika Anda men-debug lebih dari satu proses dalam mode pengguna, pengumpulan titik henti tergantung pada proses saat ini. Untuk melihat atau mengubah titik henti proses, Anda harus memilih proses sebagai proses saat ini. Untuk informasi selengkapnya tentang proses saat ini, lihat Mengontrol Proses dan Utas.
Perintah Debugger untuk Mengontrol dan Menampilkan Titik Henti
Untuk mengontrol atau menampilkan titik henti, Anda bisa menggunakan metode berikut:
Gunakan perintah bl (Daftar Titik Henti) untuk mencantumkan titik henti yang ada dan statusnya saat ini.
Gunakan perintah .bpcmds (Tampilkan Perintah Titik Henti) untuk mencantumkan semua titik henti bersama dengan perintah yang digunakan untuk membuatnya.
Gunakan perintah bp (Atur Titik Henti) untuk mengatur titik henti baru.
Gunakan perintah bu (Atur Titik Henti Tidak Terselesaikan) untuk mengatur titik henti baru. Titik henti yang diatur dengan bu disebut titik henti yang belum terselesaikan; mereka memiliki karakteristik yang berbeda dari titik henti yang diatur dengan bp. Untuk detail selengkapnya, lihat Titik Henti Yang Belum Terselesaikan (bu Titik Henti).
Gunakan perintah bm (Set Symbol Breakpoint) untuk mengatur titik henti baru pada simbol yang cocok dengan pola yang ditentukan. Titik henti yang diatur dengan bm akan dikaitkan dengan alamat (seperti titik henti bp ) jika sakelar /d disertakan; tidak akan terselesaikan (seperti titik henti bu ) jika sakelar ini tidak disertakan.
Gunakan perintah ba (Break on Access) untuk mengatur titik henti prosesor, juga dikenal sebagai titik henti data. Titik henti ini dapat dipicu ketika lokasi memori ditulis, ketika dibaca, ketika dijalankan sebagai kode, atau ketika I/O kernel terjadi. Untuk detail selengkapnya, lihat Titik Henti Prosesor (ba Titik Henti).
Gunakan perintah bc (Breakpoint Clear) untuk menghapus satu atau beberapa titik henti secara permanen.
Gunakan perintah bd (Breakpoint Disable) untuk menonaktifkan sementara satu atau beberapa titik henti.
Gunakan perintah be (Breakpoint Enable) untuk mengaktifkan kembali satu atau beberapa titik henti yang dinonaktifkan.
Gunakan perintah br (Breakpoint Renumber) untuk mengubah ID titik henti yang ada.
Gunakan perintah bs (Perbarui Perintah Titik Henti) untuk mengubah perintah yang terkait dengan titik henti yang ada.
Gunakan perintah bsc (Update Conditional Breakpoint) untuk mengubah kondisi di mana titik henti kondisi yang ada terjadi.
Di WinDbg, ada beberapa elemen antarmuka pengguna yang memfasilitasi pengendalian dan menampilkan titik henti. Lihat Mengatur Breakpoint di WinDbg (Klasik).
Setiap titik henti memiliki angka desimal yang disebut ID titik henti yang terkait dengannya. Angka ini mengidentifikasi titik henti dalam berbagai perintah.
Perintah Titik Henti
Anda dapat menyertakan perintah dalam titik henti yang secara otomatis dijalankan saat titik henti terpukul. Misalnya, perintah berikut berhenti di MyFunction+0x47, menulis file cadangan, lalu melanjutkan eksekusi.
0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g"
Catatan Jika Anda mengontrol debugger mode pengguna dari debugger kernel, jangan gunakan g (Go) di string perintah titik henti. Antarmuka serial mungkin tidak dapat mengikuti perintah ini, dan Anda tidak akan dapat memecah kembali ke CDB. Untuk informasi selengkapnya tentang situasi ini, lihat Mengontrol User-Mode Debugger dari Debugger Kernel.
Jumlah Titik Henti
Dalam mode kernel, Anda dapat menggunakan maksimum 32 titik henti perangkat lunak. Dalam mode pengguna, Anda dapat menggunakan sejumlah titik henti perangkat lunak.
Jumlah titik henti prosesor yang didukung tergantung pada arsitektur prosesor target.
Titik Henti Kondisional
Anda dapat mengatur titik henti yang hanya dipicu dalam kondisi tertentu. Untuk informasi selengkapnya tentang jenis titik henti ini, lihat Mengatur Titik Henti Bersyarah.
Titik Henti Ambigu
Dalam versi 10.0.25310.1001 dan yang lebih baru dari mesin debugger, resolusi titik henti ambigu sekarang didukung. Titik henti ambigu memungkinkan debugger mengatur titik henti dalam skenario tertentu di mana ekspresi titik henti diselesaikan ke beberapa lokasi. Untuk informasi selengkapnya, lihat Resolusi titik henti ambigu.