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 (Step) ),则引擎将强制完成这些命令。 这不会强制中断调试器,因此目标可能不会挂起。 在这种情况下, WaitForEvent 调用将返回E_PENDING。

否则,当目标挂起时,请注册用户中断。

返回值

此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。

注解

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

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

要求

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

另请参阅

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

SetInterruptTimeout