Attacher directement à un programme
Les utilisateurs qui souhaitent aux programmes de débogage dans un processus en cours en général suivent ce processus :
Dans l'IDE de, choisissez la commande de processus de débogage le menu pour Outils .
La boîte de dialogue Processus s'affiche.
choisissez un processus et cliquez sur le bouton d' Attacher .
La boîte de dialogue d' Attacher au processus s'affiche, répertoriant tous les moteurs (DEs) de débogage installés sur l'ordinateur.
Spécifiez le à utiliser pour déboguer le processus sélectionné, puis cliquez sur OK.
Le package de débogage démarre une session de débogage et passe la liste DES lui. La session de débogage passe ensuite cette liste, avec une fonction de rappel, au processus sélectionné, et demande ensuite au processus pour énumérer ses programmes en cours de exécution.
Par programme, en réponse à la demande de l'utilisateur, le package de débogage instancie le gestionnaire de débogage de (SDM) session et passe la liste DES sélectionné à celui-ci. avec la liste, le package de débogage passe le SDM une interface d' IDebugEventCallback2 . Le package de débogage passe la liste de les au processus sélectionné en appelant IDebugProcess2 : : Attachement. Le SDM appelle ensuite IDebugProcess2 : : EnumPrograms sur le port pour énumérer les programmes s'exécutant dans le processus.
À partir de là, chaque moteur de débogage est attaché à un programme exactement comme indiqué dans Attachement après un lancement, avec deux exceptions.
Pour des raisons d'efficacité, le DES qui sont implémentées pour partager un espace d'adressage avec le SDM lui sont regroupés afin que chaque De dispose d'un jeu de programmes se joindra valeur. Dans ce cas, IDebugProcess2 appelle IDebugEngine2 : : Attachement et le passe un tableau de programmes à l'attachement à.
La deuxième exception est que les événements de démarrage envoyés par l'un De l'attachement à un programme qui s'exécute déjà n'incluent pas généralement un événement de point d'entrée.