Objek Klien

Hampir semua interaksi dengan mesin debugger adalah melalui objek klien, sering kali hanya disebut sebagai klien. Setiap klien menyediakan implementasi antarmuka mesin tingkat atas. Setiap antarmuka menyediakan serangkaian metode yang berbeda, yang dapat digunakan untuk berinteraksi dengan mesin dan, melalui mesin, target. Instans mesin dapat memiliki banyak klien, masing-masing dengan statusnya sendiri.

Klien Utama

Klien utama adalah klien yang telah bergabung dengan sesi penelusuran kesalahan saat ini. Awalnya, ketika objek klien baru dibuat, itu bukan klien utama. Klien menjadi klien utama ketika digunakan untuk memperoleh target (misalnya, dengan memanggil CreateProcess2) atau terhubung ke sesi penelusuran kesalahan menggunakan ConnectSession. Perintah debugger .clients hanya mencantumkan klien utama.

Objek Panggilan Balik

Objek panggilan balik dapat didaftarkan ke setiap klien. Ada tiga jenis objek panggilan balik:

  1. Input Objek Panggilan Balik (atau panggilan balik input): mesin memanggil panggilan balik input untuk meminta input. Misalnya, debugger dengan jendela konsol dapat mendaftarkan panggilan balik input untuk memberi mesin input dari pengguna, atau debugger mungkin mendaftarkan panggilan balik input untuk memberi mesin input dari file.

  2. Objek Panggilan Balik Output (atau panggilan balik output): mesin memanggil panggilan balik output untuk menampilkan output. Misalnya, debugger dengan jendela konsol dapat mendaftarkan panggilan balik output untuk menyajikan output debugger kepada pengguna, atau debugger mungkin mendaftarkan panggilan balik output untuk mengirim output ke file log.

  3. Objek Panggilan Balik Peristiwa (atau panggilan balik peristiwa): mesin memanggil panggilan balik peristiwa setiap kali peristiwa terjadi dalam target (atau ada perubahan dalam status mesin). Misalnya, pustaka ekstensi debugger dapat mendaftarkan panggilan balik peristiwa untuk memantau peristiwa tertentu atau melakukan tindakan otomatis saat peristiwa tertentu terjadi.

Penelusuran Kesalahan Jarak Jauh

Objek klien memfasilitasi komunikasi ke instans jarak jauh mesin host. Fungsi DebugConnect membuat objek klien yang terhubung ke instans mesin jarak jauh; Metode yang dipanggil pada klien ini dijalankan oleh mesin jarak jauh dan objek panggilan balik yang terdaftar secara lokal dengan klien akan dipanggil ketika mesin jarak jauh melakukan panggilan balik.

Informasi Tambahan

Untuk detail tentang membuat dan menggunakan objek klien, lihat Menggunakan Objek Panggilan Balik. Untuk detail tentang mendaftarkan objek panggilan balik, lihat Menggunakan Objek Panggilan Balik.