События элементов управления
Во время контролируемого выполнения программы необходимо отправлять события. Все события отправляются с помощью интерфейса IDebugEvent2 и имеют атрибуты, требующие реализации метода IDebugEvent2::GetAttributes .
Дополнительные методы
Для некоторых событий требуется реализация дополнительных методов, как показано ниже.
Отправка интерфейса IDebugEngineCreateEvent2 при инициализации обработчика отладки требует реализации метода IDebugEngineCreateEvent2::GetEngine.
Для управления выполнением требуется реализация таких событий управления, как интерфейсы IDebugBreakEvent2 и IDebugStepCompleteEvent2 . IDebugBreakEvent2 требуется только для асинхронных разрывов.
Для шага в функции требуется реализация интерфейса IDebugStepCompleteEvent2 и его методов.
События, производные от точек останова, требуют реализации интерфейсов IDebugBreakpointErrorEvent2, IDebugBreakpointEvent2 и IDebugBreakpointBoundEvent2, а также методов IDebugBreakpointBoundEvent2::GetPendingBreakpoint и EnumBoundBreakpoints.
Для асинхронной оценки выражений необходимо реализовать интерфейс IDebugExpressionEvaluationCompleteEvent2 и его методы IDebugExpressionEvaluationCompleteEvent2::GetExpressionи GetResult.
Синхронные события требуют реализации метода IDebugEngine2::ContinueFromSynchronousEvent .
Для записи выходных данных строкового стиля подсистемы необходимо реализовать метод IDebugOutputStringEvent2::GetString .