Freigeben über


IDebugControl::SetInterrupt-Methode (dbgeng.h)

Die SetInterrupt--Methode registriert einen Benutzer, der den Debugger unterbricht oder umbricht.

Syntax

HRESULT SetInterrupt(
  [in] ULONG Flags
);

Parameter

[in] Flags

Gibt den Typ des zu registrierenden Interrupts an. Flags können einen der in der folgenden Tabelle aufgeführten Werte annehmen.

Wert Beschreibung
DEBUG_INTERRUPT_ACTIVE Wenn das Ziel ausgeführt wird, fordert das Modul einen Umbruch in den Debugger an. Diese Anforderung kann ein Timeout sein. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Andernfalls registriert das Modul, wenn das Ziel angehalten wird, einen Benutzerunterbrechung.

DEBUG_INTERRUPT_PASSIVE Das Modul registriert einen Benutzerunterbrechung.
DEBUG_INTERRUPT_EXIT Wenn derzeit ein WaitForEvent Ausgeführten Aufrufs vorhanden ist, erzwingt das Modul die Rückgabe. Wenn Debuggerbefehle vorhanden sind, die die Ausführung im Ziel verursachen , z. B. g (Go) und p (Step) - erzwingt das Modul die Ausführung. Dadurch wird kein Umbruch in den Debugger erzwungen, sodass das Ziel möglicherweise nicht angehalten wird. In diesem Fall gibt der WaitForEvent-Aufruf E_PENDING zurück.

Wenn das Ziel angehalten wird, registrieren Sie andernfalls einen Benutzerunterbrechung.

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.

Bemerkungen

Diese Methode kann jederzeit und von einem beliebigen Thread aufgerufen werden. Sobald der Interrupt registriert wurde, gibt diese Methode sofort zurück.

Wenn Flags DEBUG_INTERRUPT_ACTIVE ist und das Unterbrechungstimeout auftritt, generiert das Modul ein synthetisches Ausnahmeereignis. Dieses Ereignis wird an die IDebugEventCallbacks::Exception-Methode des Ereignisrückrufs gesendet. Die Zeitspanne vor dem Unterbrechungstimeout kann mithilfe SetInterruptTimeout-festgelegt werden.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h)

Siehe auch

GetInterrupt-

GetInterruptTimeout-

IDebugControl-

IDebugControl2-

IDebugControl3-

SetInterruptTimeout-