控件事件
在程序受控执行期间,必须发送事件。 所有事件都使用 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 方法。