Método IDebugControl::SetInterrupt (dbgeng.h)
O método SetInterrupt registra uma interrupção do usuário ou interrompe o depurador.
Sintaxe
HRESULT SetInterrupt(
[in] ULONG Flags
);
Parâmetros
[in] Flags
Especifica o tipo de interrupção a ser registrado. Os sinalizadores podem obter um dos valores listados na tabela a seguir.
Valor | Descrição |
---|---|
DEBUG_INTERRUPT_ACTIVE |
Se o destino estiver em execução, o mecanismo solicitará uma quebra no depurador. Essa solicitação pode chegar ao tempo limite. Para obter mais informações, consulte a seção "Comentários".
Caso contrário, quando o destino for suspenso, o mecanismo registrará uma interrupção do usuário. |
DEBUG_INTERRUPT_PASSIVE | O mecanismo registrará uma interrupção do usuário. |
DEBUG_INTERRUPT_EXIT |
Se houver atualmente uma chamada WaitForEvent em execução, o mecanismo o forçará a retornar. Se houver comandos de depurador que causem a execução no destino , por exemplo, g (Go) e p (Etapa), o mecanismo os forçará a concluir. Isso não força uma invasão no depurador, portanto, o destino pode não ser suspenso. Nesse caso, a chamada WaitForEvent retornará E_PENDING.
Caso contrário, quando o destino for suspenso, registre uma interrupção do usuário. |
Retornar valor
Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
Comentários
Esse método pode ser chamado a qualquer momento e de qualquer thread. Depois que a interrupção tiver sido registrada, esse método retornará imediatamente.
Se Flags for DEBUG_INTERRUPT_ACTIVE e a interrupção atingir o tempo limite, o mecanismo gerará um evento de exceção sintética. Esse evento será enviado para o método IDebugEventCallbacks::Exception do retorno de chamada de evento. A quantidade de tempo antes do tempo limite de interrupção pode ser definida usando SetInterruptTimeout.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | dbgeng.h (inclua Dbgeng.h) |