É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 en utilisant l’interface IDebugEvent2 et ont des attributs qui nécessitent que vous implémentiez la méthode IDebugEvent2::GetAttributes.
Autres méthodes
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é nécessite que vous implémentiez la méthode IDebugEngineCreateEvent2::GetEngine.
Le contrôle d’exécution nécessite l’implémentation d’événements de contrôle tels que les interfaces IDebugBreakEvent2 et IDebugStepCompleteEvent2. IDebugBreakEvent2 est requis uniquement pour les interruptions asynchrones.
Pour entrer dans les fonctions, vous devez implémenter l’interface IDebugStepCompleteEvent2 et ses méthodes.
Les événements dérivant des points d’arrêt nécessitent l’implémentation des interfaces IDebugBreakpointErrorEvent2, IDebugBreakpointEvent2 et IDebugBreakpointBoundEvent2, ainsi que des méthodes IDebugBreakpointBoundEvent2::GetPendingBreakpoint et EnumBoundBreakpoints.
L’évaluation d’expressions asynchrones nécessite que vous implémentiez l’interface IDebugExpressionEvaluationCompleteEvent2 et ses méthodes GetExpression et GetResult.
Les événements synchrones nécessitent l’implémentation de la méthode IDebugEngine2::ContinueFromSynchronousEvent.
Pour que votre moteur écrive une sortie de type chaîne de caractères, vous devez implémenter la méthode IDebugOutputStringEvent2::GetString.