Envoyer des événements de démarrage après un lancement
Une fois que le moteur de débogage (DE) est attaché au programme, il envoie une série d’événements de démarrage à la session de débogage.
Les événements de démarrage renvoyés à la session de débogage sont les suivants :
Événement de création de moteur.
Événement de création de programme.
Événements de création de threads et de chargement de module.
Événement load complete, envoyé lorsque le code est chargé et prêt à s’exécuter, mais avant l’exécution d’un code.
Remarque
Lorsque cet événement est continué, les variables globales sont initialisées et les routines de démarrage s’exécutent.
Autres événements de création de threads et de chargement de module possibles.
Événement de point d’entrée, qui signale que le programme a atteint son point d’entrée principal, tel que Main ou
WinMain
. Cet événement n’est généralement pas envoyé si le DE s’attache à un programme déjà en cours d’exécution.Par programmation, le DE envoie d’abord le gestionnaire de débogage de session (SDM) une interface IDebugEngineCreateEvent2 , qui représente un événement de création de moteur, suivi d’un IDebugProgramCreateEvent2, qui représente un événement de création de programme.
Ces événements sont généralement suivis d’un ou plusieurs événements de création de thread IDebugThreadCreateEvent2 et d’événements de chargement de module IDebugModuleLoadEvent2 .
Lorsque le code est chargé et prêt à s’exécuter, mais avant l’exécution d’un code, le DE envoie l’événement de chargement complet IDebugLoadCompleteEvent2 . Enfin, si le programme n’est pas déjà en cours d’exécution, le DE envoie un événement de point d’entrée IDebugEntryPointEvent2 , signalant que le programme a atteint son point d’entrée principal et est prêt pour le débogage.