Eventos de control
Debe enviar eventos durante la ejecución controlada del programa. Todos los eventos se envían mediante la interfaz IDebugEvent2 y tienen atributos que requieren que implemente el método IDebugEvent2::GetAttributes.
Otros métodos
Algunos eventos requieren la implementación de métodos adicionales, como se indica a continuación:
El envío de la interfaz IDebugEngineCreateEvent2 cuando se inicializa el motor de depuración (DE) requiere que implemente el método IDebugEngineCreateEvent2::GetEngine.
El control de ejecución requiere la implementación de eventos de control, como las interfaces IDebugBreakEvent2 e IDebugStepCompleteEvent2. IDebugBreakEvent2 solo es necesario para los saltos asincrónicos.
Las funciones paso a paso requieren la implementación de la interfaz IDebugStepCompleteEvent2 y sus métodos.
Los eventos derivados de puntos de interrupción requieren la implementación de las interfaces IDebugBreakpointErrorEvent2, IDebugBreakpointEvent2 e IDebugBreakpointBoundEvent2, así como los métodos IDebugBreakpointBoundEvent2::GetPendingBreakpoint y EnumBoundBreakpoints.
La evaluación de expresiones asincrónicas requiere que implemente la interfaz IDebugExpressionEvaluationCompleteEvent2 y sus métodos IDebugExpressionEvaluationCompleteEvent2::GetExpressiony GetResult.
Los eventos sincrónicos requieren la implementación del método IDebugEngine2::ContinueFromSynchronousEvent.
Para que el motor escriba una salida de estilo de cadena, debe implementar el método IDebugOutputStringEvent2::GetString.