Метод IDebugControl3::SetInterrupt (dbgeng.h)

Метод SetInterrupt регистрирует прерывание или прерывание пользователя в отладчике.

Синтаксис

HRESULT SetInterrupt(
  [in] ULONG Flags
);

Параметры

[in] Flags

Указывает тип регистрируемого прерывания. Флаги могут принимать одно из значений, перечисленных в следующей таблице.

Значение Описание
DEBUG_INTERRUPT_ACTIVE Если целевой объект запущен, подсистема запросит прерывание работы отладчика. Для этого запроса может быть истекло время ожидания. Дополнительные сведения см. в разделе "Примечания".

В противном случае при приостановке целевого объекта подсистема зарегистрирует прерывание пользователя.

DEBUG_INTERRUPT_PASSIVE Подсистема зарегистрирует прерывание пользователя.
DEBUG_INTERRUPT_EXIT Если в настоящее время выполняется вызов WaitForEvent , подсистема принудительно вернет его. Если в целевом объекте есть команды отладчика, вызывающие выполнение, например g (Go) и p (шаг), подсистема принудительно выполнит их. Это не приводит к принудительному разрыву в отладчике, поэтому целевой объект не может быть приостановлен. В этом случае вызов WaitForEvent вернет E_PENDING.

В противном случае при приостановке целевого объекта зарегистрируйте прерывание пользователя.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

Этот метод можно вызывать в любое время и из любого потока. После регистрации прерывания этот метод возвращает немедленно.

Если параметр Flags DEBUG_INTERRUPT_ACTIVE, а время ожидания прерывания истекло, подсистема создаст искусственное событие исключения. Это событие будет отправлено в метод IDebugEventCallbacks::Exception обратного вызова события. Время ожидания прерывания можно задать с помощью SetInterruptTimeout.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout