IDebugControl2::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。
否則,當目標暫停時,請註冊用戶中斷。 |
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
備註
這個方法可以隨時從任何線程呼叫。 註冊中斷之後,這個方法會立即傳回。
如果 Flags 是DEBUG_INTERRUPT_ACTIVE,而中斷逾時,引擎將會產生綜合例外狀況事件。 此事件會傳送至事件回 呼的 IDebugEventCallbacks::Exception 方法。 可以使用 SetInterruptTimeout 來設定中斷逾時之前的時間量。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |