IDebugControl::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
该方法成功。

言论

此方法可以随时从任何线程调用。 注册中断后,此方法将立即返回。

如果 标志 DEBUG_INTERRUPT_ACTIVE,中断超时,引擎将生成综合异常事件。 此事件将发送到事件回调的 IDebugEventCallbacks::Exception 方法。 可以使用 setInterruptTimeout setInterruptTimeout设置中断超时前的时间量。

要求

要求 价值
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout