Surveillance des événements

Pour obtenir une vue d’ensemble des événements dans le moteur de débogueur, consultez Événements.

Les événements se produisant dans une cible ou dans le moteur de débogueur peuvent être surveillés à l’aide de l’interface IDebugEventCallbacks . Un objet IDebugEventCallbacks peut être inscrit auprès d’un client à l’aide de SetEventCallbacks. Chaque client ne peut avoir qu’un seul objet IDebugEventCallbacks inscrit avec lui.

Lorsqu’un objet IDebugEventCallbacks est inscrit auprès d’un client, le moteur appelle L’objet IDebugEventCallbacks::GetInterestMask pour déterminer les événements qui intéressent l’objet. Seuls les événements qui intéressent l’objet lui sont envoyés.

Pour chaque type d’événement, le moteur appelle une méthode de rappel correspondante sur IDebugEventCallbacks. Pour les événements de la cible, la valeur DEBUG_STATUS_XXX retournée à partir de ces appels spécifie comment l’exécution de la cible doit se poursuivre. Le moteur collecte ces valeurs de retour à partir de chaque objet IDebugEventCallbacks qu’il appelle et agit sur celui qui a la priorité la plus élevée.

Événements de la cible qui s’entrent dans le débogueur par défaut

Les événements suivants entrent dans le débogueur par défaut :

  • Événements de point d’arrêt

  • Événements d’exception (non documentés ici)

  • Erreur système

Événements de la cible qui ne s’entrent pas dans le débogueur par défaut

Les événements suivants ne s’entrent pas dans le débogueur par défaut :

  • Créer un événement de processus

  • Événement de processus de sortie

  • Créer un événement de thread

  • Événement de thread de sortie

  • Événement de module de chargement

  • Événement de module de déchargement

Modifications internes du moteur

Les éléments suivants ne sont pas des événements réels, mais sont simplement des modifications de moteur internes :

  • Modification cible

  • Modification du moteur

  • Modification du symbole du moteur

  • Changement d’état de session