IDebugControl::SetInterrupt 方法 (dbgeng.h)

SetInterrupt 方法會註冊用戶中斷或中斷至調試程式。

語法

HRESULT SetInterrupt(
  [in] ULONG Flags
);

參數

[in] Flags

指定要註冊的中斷類型。 旗標 可以採用下表所列的其中一個值。

Description
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