您必須在程式的受控制執行期間傳送事件。 所有事件都會使用 IDebugEvent2 介面傳送,並具有需要您實作 IDebugEvent2::GetAttributes 方法的屬性。
其他方法
某些事件需要實作其他方法,如下所示:
當偵錯引擎 (DE) 被初始化時,傳送 IDebugEngineCreateEvent2 介面需要您實作 IDebugEngineCreateEvent2::GetEngine 方法。
執行控件需要實作這類控件事件,例如 IDebugBreakEvent2 和 IDebugStepCompleteEvent2 介面。 IDebugBreakEvent2 僅用於異步中斷。
要進入函式進行調試,需要實現 IDebugStepCompleteEvent2 介面及其方法。
衍生自斷點的事件需要實作 IDebugBreakpointErrorEvent2、IDebugBreakpointEvent2和 IDebugBreakpointBoundEvent2 介面, 以及 IDebugBreakpointBoundEvent2::GetPendingBreakpoint 和 EnumBoundBreakpoints 方法。
異步表達式評估需要您實作 IDebugExpressionEvaluationCompleteEvent2 介面及其 IDebugExpressionEvaluationCompleteEvent2::GetExpression和 GetResult 方法。
同步事件需要實作 IDebugEngine2::ContinueFromSynchronousEvent 方法。
若要讓引擎撰寫字串樣式輸出,您必須實作 IDebugOutputStringEvent2::GetString 方法。