Metode IDebugControl2::SetInterrupt (dbgeng.h)

Metode SetInterrupt mendaftarkan interupsi pengguna atau menerobos ke debugger.

Sintaks

HRESULT SetInterrupt(
  [in] ULONG Flags
);

Parameter

[in] Flags

Menentukan jenis interupsi yang akan didaftarkan. Bendera dapat mengambil salah satu nilai yang tercantum dalam tabel berikut ini.

Nilai Deskripsi
DEBUG_INTERRUPT_ACTIVE Jika target berjalan, mesin akan meminta pembobolan debugger. Permintaan ini mungkin kehabisan waktu. Untuk informasi selengkapnya, lihat bagian "Keterangan".

Jika tidak, ketika target ditangguhkan, mesin akan mendaftarkan interupsi pengguna.

DEBUG_INTERRUPT_PASSIVE Mesin akan mendaftarkan gangguan pengguna.
DEBUG_INTERRUPT_EXIT Jika saat ini ada panggilan WaitForEvent yang berjalan, mesin akan memaksanya untuk kembali. Jika ada perintah debugger yang menyebabkan eksekusi di target -- misalnya, g (Go) dan p (Langkah) -- mesin akan memaksa mereka untuk menyelesaikannya. Ini tidak memaksa pembobolan debugger, sehingga target mungkin tidak ditangguhkan. Dalam hal ini, panggilan WaitForEvent akan mengembalikan E_PENDING.

Jika tidak, ketika target ditangguhkan, daftarkan interupsi pengguna.

Nilai kembali

Metode ini juga dapat mengembalikan nilai kesalahan. Lihat Mengembalikan Nilai untuk detail selengkapnya.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.

Keterangan

Metode ini dapat dipanggil kapan saja dan dari utas apa pun. Setelah interupsi didaftarkan, metode ini segera kembali.

Jika Bendera DEBUG_INTERRUPT_ACTIVE, dan waktu interupsi habis, mesin akan menghasilkan peristiwa pengecualian sintetis. Kejadian ini akan dikirim ke metode IDebugEventCallbacks::Exception dari event callback . Jumlah waktu sebelum waktu interupsi habis dapat diatur menggunakan SetInterruptTimeout.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dbgeng.h (termasuk Dbgeng.h)

Lihat juga

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout