Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le gestionnaire de débogage de session (SDM) gère n’importe quel nombre de moteurs de débogage (DE) qui déboguent n’importe quel nombre de programmes dans plusieurs processus sur un nombre quelconque de machines. En plus d’être un multiplexeur de moteur de débogage, le SDM fournit une vue unifiée de la session de débogage à l’IDE.
Opération du gestionnaire de débogage de session
Le gestionnaire de débogage de session (SDM) gère le DE. Plusieurs moteurs de débogage peuvent s’exécuter sur un ordinateur en même temps. Pour multiplexer les DEs, le SDM encapsule un certain nombre d’interfaces des DEs et les expose à l’IDE en tant qu’interface unique.
Pour augmenter les performances, certaines interfaces ne sont pas multiplexées. Au lieu de cela, ils sont utilisés directement à partir du DE, et les appels à ces interfaces ne passent pas par le SDM. Par exemple, les interfaces utilisées avec la mémoire, le code et les contextes de document ne sont pas multiplexées, car elles font référence à une instruction, une mémoire ou un document spécifique dans un programme spécifique débogué par un DE spécifique. Aucun autre DE n’a besoin d’être impliqué dans ce niveau de communication.
Ce n’est pas vrai de tous les contextes. Les appels à l’interface contextuelle d’évaluation d’expression passent par le SDM. Lors de l’évaluation de l’expression, le SDM encapsule l’interface IDebugExpression2 qu’elle donne à l’IDE, car lorsque cette expression est évaluée, il peut impliquer plusieurs DE qui déboguent des programmes dans le même processus qui peut s’exécuter sur le même thread.
Le SDM agit généralement comme un mécanisme de délégation, mais il peut agir comme un mécanisme de diffusion. Par exemple, lors de l’évaluation d’expression, le SDM agit en tant que mécanisme de diffusion pour informer tous les DE qu’ils peuvent exécuter du code sur un thread spécifié. De même, lorsque le SDM reçoit un événement d’arrêt, il informe les programmes qu’ils doivent cesser de s’exécuter. Lorsqu'une étape est appelée, le SDM informe les programmes qu'ils peuvent continuer à fonctionner. Les points d'arrêt sont également diffusés à chaque DE.
Le SDM n’effectue pas le suivi du programme, du thread ou du frame de pile actuel. Les informations de processus, de programme et de thread sont envoyées au SDM conjointement avec des événements de débogage spécifiques.