Envoyer les événements requis

Utilisez cette procédure pour envoyer des événements requis.

Processus d’envoi d’événements requis

Les événements suivants sont requis, dans cet ordre, lors de la création d’un moteur de débogage (DE) et de son attachement à un programme :

  1. Envoyez un objet d’événement IDebugEngineCreateEvent2 au gestionnaire de débogage de session (SDM) lorsque le DE est initialisé pour le débogage d’un ou plusieurs programmes dans un processus.

  2. Lorsque le programme à déboguer est attaché, envoyez un objet d’événement IDebugProgramCreateEvent2 au SDM. Cet événement peut être un événement d’arrêt, en fonction de la conception de votre moteur.

  3. Si le programme est attaché lors du lancement du processus, envoyez un objet d’événement IDebugThreadCreateEvent2 au SDM pour notifier l’IDE du nouveau thread. Cet événement peut être un événement d’arrêt, en fonction de la conception de votre moteur.

  4. Envoyez un objet d’événement IDebugLoadCompleteEvent2 au SDM lorsque le programme en cours de débogage est terminé ou lorsque l’attachement au programme est terminé. Cet événement doit être un événement d’arrêt.

  5. Si l’application à déboguer est lancée, envoyez un objet d’événement IDebugEntryPointEvent2 au SDM lorsque la première instruction du code dans l’architecture d’exécution est sur le point d’être exécutée. Cet événement est toujours un événement d’arrêt. Lorsque vous effectuez un pas à pas dans la session de débogage, l’IDE s’arrête sur cet événement.

Remarque

De nombreux langages utilisent des initialiseurs globaux ou des fonctions précompilées (à partir de la bibliothèque CRT ou de _Main) au début de leur code. Si la langue du programme que vous déboguez contient l’un de ces types d’éléments avant le point d’entrée initial, ce code est exécuté et l’événement de point d’entrée est envoyé lorsque le point d’entrée utilisateur, tel que principal ou WinMain, est atteint.

Voir aussi