Metode IDebugEventCallbacks::ChangeDebuggeeState (dbgeng.h)
Metode panggilan balik ChangeDebuggeeState dipanggil oleh mesin saat membuat atau mendeteksi perubahan pada target.
Sintaks
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Parameter
[in] Flags
Menentukan jenis perubahan yang dilakukan pada target. Bendera mungkin mengambil salah satu nilai berikut:
Nilai | Deskripsi |
---|---|
DEBUG_CDS_ALL | Terjadi perubahan umum pada target. Misalnya, target telah dieksekusi, atau mesin baru saja melekat pada target. |
DEBUG_CDS_REGISTERS | Prosesor mendaftar untuk target telah berubah. |
DEBUG_CDS_DATA | Ruang data target telah berubah. |
DEBUG_CDS_REFRESH | Beri tahu klien GUI untuk me-refresh jendela debugger. |
[in] Argument
Menyediakan informasi tambahan tentang perubahan target. Interpretasi nilai Argumen tergantung pada nilai Bendera:
- DEBUG_CDS_ALL
- Nilai Argumen adalah nol.
- DEBUG_CDS_REGISTERS
- Jika satu register telah berubah, nilai Argumen adalah indeks dari register tersebut. Jika tidak, nilai Argumen adalah DEBUG_ANY_ID.
- DEBUG_CDS_DATA
-
Nilai Argumen menentukan ruang data mana yang diubah. Tabel berikut berisi kemungkinan nilai Argumen.
Nilai Deskripsi DEBUG_DATA_SPACE_VIRTUAL Memori virtual target telah berubah. DEBUG_DATA_SPACE_PHYSICAL Memori fisik target telah berubah. DEBUG_DATA_SPACE_CONTROL Memori kontrol target telah berubah. DEBUG_DATA_SPACE_IO Port I/O target telah menerima input atau output. DEBUG_DATA_SPACE_MSR Model-Specific Register (MSR) target telah berubah. DEBUG_DATA_SPACE_BUS_DATA Memori bus target telah berubah. - DEBUG_CDS_REFRESH
-
Tabel berikut berisi kemungkinan nilai Argumen.
Nilai DEBUG_CDS_REFRESH_EVALUATE DEBUG_CDS_REFRESH_EXECUTE DEBUG_CDS_REFRESH_EXECUTECOMMANDFILE DEBUG_CDS_REFRESH_ADDBREAKPOINT DEBUG_CDS_REFRESH_REMOVEBREAKPOINT DEBUG_CDS_REFRESH_WRITEVIRTUAL DEBUG_CDS_REFRESH_WRITEVIRTUALUNCACHED DEBUG_CDS_REFRESH_WRITEPHYSICAL DEBUG_CDS_REFRESH_WRITEPHYSICAL2 DEBUG_CDS_REFRESH_SETVALUE DEBUG_CDS_REFRESH_SETVALUE2 DEBUG_CDS_REFRESH_SETSCOPE DEBUG_CDS_REFRESH_SETSCOPEFRAMEBYINDEX DEBUG_CDS_REFRESH_SETSCOPEFROMJITDEBUGINFO DEBUG_CDS_REFRESH_SETSCOPEFROMSTOREDEVENT DEBUG_CDS_REFRESH_INLINESTEP DEBUG_CDS_REFRESH_INLINESTEP_PSEUDO
Mengembalikan nilai
Nilai yang dikembalikan diabaikan oleh mesin kecuali menunjukkan kesalahan panggilan prosedur jarak jauh; dalam hal ini klien, yang dengannya objek IDebugEventCallbacks ini terdaftar, dinonaktifkan.
Keterangan
Mesin memanggil ChangeDebuggeeState hanya jika bendera DEBUG_EVENT_CHANGE_DEBUGGEE_STATE diatur dalam masker yang dikembalikan oleh IDebugEventCallbacks::GetInterestMask.
Untuk informasi selengkapnya tentang menangani peristiwa, lihat Memantau Peristiwa. Untuk informasi tentang mengelola memori target, termasuk daftar dan ruang data, lihat Akses Memori. Untuk informasi tentang memori virtual dan fisik target, lihat Memori Virtual dan Fisik. Untuk informasi tentang memori kontrol target, port I/O, MSR, dan memori bus, lihat Ruang Data Lainnya.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | dbgeng.h (termasuk Dbgeng.h) |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk