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