IDebugControl2::SetInterrupt-Methode (dbgeng.h)
Die SetInterrupt-Methode registriert eine Benutzerunterbrechung oder unterbricht den Debugger.
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 die Engine eine Unterbrechung des Debuggers an. Für diese Anforderung kann ein Timeout auftreten. Weitere Informationen finden Sie im Abschnitt "Hinweise".
Andernfalls registriert die Engine, wenn das Ziel angehalten wird, einen Benutzerunterbrechung. |
DEBUG_INTERRUPT_PASSIVE | Die Engine registriert einen Benutzerunterbrechung. |
DEBUG_INTERRUPT_EXIT |
Wenn derzeit ein WaitForEvent-Aufruf ausgeführt wird, erzwingt die Engine die Rückgabe. Wenn Debuggerbefehle vorhanden sind, die die Ausführung im Ziel verursachen , z. B. g (Go) und p (Schritt), erzwingt die Engine den Abschluss. Dadurch wird keine Unterbrechung des Debuggers 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 gibt möglicherweise auch Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode war erfolgreich. |
Hinweise
Diese Methode kann jederzeit und von jedem Thread aufgerufen werden. Nachdem der Interrupt registriert wurde, wird diese Methode sofort zurückgegeben.
Wenn Flags DEBUG_INTERRUPT_ACTIVE ist und das Interrupttimeout auftritt, generiert die Engine ein synthetisches Ausnahmeereignis. Dieses Ereignis wird an die IDebugEventCallbacks::Exception-Methode des Ereignisrückrufs gesendet. Die Zeitspanne bis zum Unterbrechungstimeout kann mithilfe von SetInterruptTimeout festgelegt werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (dbgeng.h einschließen) |