Bagikan melalui


Peristiwa

Mesin debugger menyediakan fasilitas untuk memantau dan merespons peristiwa dalam target. Ketika sebuah peristiwa terjadi, mesin menangguhkan target (sering kali hanya sebentar), kemudian memberi tahu semua klien mengenai peristiwa tersebut, yang selanjutnya menginstruksikan mesin tentang cara eksekusi harus dilanjutkan pada target.

Untuk memberi tahu klien tentang suatu peristiwa, mesin memanggil objek panggilan balik peristiwa yang terdaftar di klien. Mesin menyediakan setiap panggilan balik peristiwa dengan detail peristiwa, dan panggilan balik peristiwa menginstruksikan mesin tentang bagaimana eksekusi harus dilanjutkan di target. Ketika panggilan balik peristiwa yang berbeda memberikan instruksi yang bertentangan, mesin bertindak berdasarkan instruksi dengan prioritas tertinggi (lihat DEBUG_STATUS_XXX), yang biasanya berarti memilih instruksi yang melibatkan eksekusi target paling sedikit.

Nota Saat panggilan balik peristiwa menangani peristiwa, target ditangguhkan dan sesi penelusuran kesalahan dapat diakses; namun, karena mesin sedang menunggu peristiwa--baik secara eksplisit selama panggilan WaitForEvent atau secara implisit dengan menjalankan perintah seperti g (Go) atau p (Langkah)--panggilan balik peristiwa tidak dapat memanggil WaitForEvent, dan jika mencoba menjalankan perintah apa pun yang akan menyebabkan debugger dijalankan, misalnya g (Go) atau p (Langkah), mesin akan menginterpretasikan perintah ini sebagai instruksi tentang cara melanjutkan.

Filter Peristiwa

Mesin debugger juga menyediakan filter peristiwa, yang merupakan alternatif yang lebih sederhana untuk pemantauan peristiwa dasar. Filter peristiwa menyediakan beberapa aturan sederhana yang menentukan apakah peristiwa harus dicetak ke aliran output debugger atau masuk ke debugger. Mereka juga dapat digunakan untuk menjalankan perintah debugger saat peristiwa terjadi.

Informasi Tambahan

Untuk detail tentang memantau peristiwa, lihat Memantau Peristiwa.