Événements de contrôle
Vous devez envoyer des événements pendant l’exécution contrôlée de votre programme. Tous les événements sont envoyés à l’aide de l’interface IDebugEvent2 et ont des attributs qui vous obligent à implémenter la méthode IDebugEvent2 ::GetAttributes.
Méthodes supplémentaires
Certains événements nécessitent l’implémentation de méthodes supplémentaires, comme suit :
L’envoi de l’interface IDebugEngineCreateEvent2 lorsque le moteur de débogage (DE) est initialisé vous oblige à implémenter la méthode IDebugEngineCreateEvent2 ::GetEngine.
Le contrôle d’exécution nécessite l’implémentation de tels événements de contrôle, tels que les interfaces IDebugBreakEvent2 et IDebugStepCompleteEvent2. IDebugBreakEvent2 n’est nécessaire que pour les interruptions asynchrones.
Le pas à pas dans les fonctions nécessite l’implémentation de l’interface IDebugStepCompleteEvent2 et de ses méthodes.
Les événements dérivés de points d’arrêt nécessitent l’implémentation des interfaces IDebugBreakpointErrorEvent2, IDebugBreakpointEvent2et IDebugBreakpointBoundEvent2, ainsi que des méthodes IDebugBreakpointBoundEvent2::GetPendingBreakpoint et EnumBoundBreakpoints.
L’évaluation asynchrone des expressions nécessite l’implémentation de l’interface IDebugExpressionEvaluationCompleteEvent2 et des méthodes GetExpressionet GetResult.
Les événements synchrones nécessitent l’implémentation de la méthode IDebugEngine2 ::ContinueFromSynchronousEvent.
Pour que votre moteur écrive une sortie de style chaîne, vous devez implémenter la méthode IDebugOutputStringEvent2 ::GetString.