Metodo IDebugControl2::SetInterrupt (dbgeng.h)
Il metodo SetInterrupt registra un interruzione utente o si interrompe nel debugger.
Sintassi
HRESULT SetInterrupt(
[in] ULONG Flags
);
Parametri
[in] Flags
Specifica il tipo di interruzione da registrare. I flag possono accettare uno dei valori elencati nella tabella seguente.
Valore | Descrizione |
---|---|
DEBUG_INTERRUPT_ACTIVE |
Se la destinazione è in esecuzione, il motore richiederà un'interruzione nel debugger. Questa richiesta potrebbe richiedere il timeout. Per altre informazioni, vedere la sezione "Osservazioni".
In caso contrario, quando la destinazione viene sospesa, il motore registra un interruzione utente. |
DEBUG_INTERRUPT_PASSIVE | Il motore registra un interruzione utente. |
DEBUG_INTERRUPT_EXIT |
Se è attualmente in esecuzione una chiamata WaitForEvent , il motore lo forza a restituire. Se sono presenti comandi debugger che causano l'esecuzione nella destinazione, ad esempio g (Go) e p (passaggio) , il motore li forza a completare. Questa operazione non forza un'interruzione nel debugger, pertanto la destinazione potrebbe non essere sospesa. In questo caso, la chiamata WaitForEvent restituirà E_PENDING.
In caso contrario, quando la destinazione viene sospesa, registrare un interruzione utente. |
Valore restituito
Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere Valori restituiti .
Codice restituito | Descrizione |
---|---|
|
Il metodo è stato eseguito correttamente. |
Commenti
Questo metodo può essere chiamato in qualsiasi momento e da qualsiasi thread. Dopo aver registrato l'interruzione, questo metodo restituisce immediatamente.
Se flag è DEBUG_INTERRUPT_ACTIVE e il timeout dell'interruzione, il motore genererà un evento di eccezione sintetica. Questo evento verrà inviato al metodo IDebugEventCallbacks::Exception del callback dell'evento. La quantità di tempo prima del timeout dell'interruzione può essere impostata usando SetInterruptTimeout.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | dbgeng.h (includere Dbgeng.h) |