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
S_OK
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)

Vedi anche

GetInterrupt

GetInterruptTimeout

Idebugcontrol

IDebugControl2

IDebugControl3

SetInterruptTimeout