Метод IDebugControl2::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.
В противном случае при приостановке целевого объекта зарегистрируйте прерывание пользователя. |
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
Комментарии
Этот метод можно вызывать в любое время и из любого потока. После регистрации прерывания этот метод возвращает немедленно.
Если параметр Flags DEBUG_INTERRUPT_ACTIVE, а время ожидания прерывания истекло, подсистема создаст искусственное событие исключения. Это событие будет отправлено в метод IDebugEventCallbacks::Exception обратного вызова события. Время ожидания прерывания можно задать с помощью SetInterruptTimeout.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |