Gestionnaire de session de débogageSession Debug Manager

Le Gestionnaire de session de débogage (SDM) gère n’importe quel nombre de moteurs de débogage (DE) n’importe quel nombre de programmes dans plusieurs processus sur n’importe quel nombre d’ordinateurs de débogage.The session debug manager (SDM) manages any number of debug engines (DE) debugging any number of programs in multiple processes on any number of machines. En plus de constituer un moteur de débogage multiplexeur, le SDM fournit une vue unifiée de la session de débogage à l’IDE.In addition to being a debug engine multiplexer, the SDM provides a unified view of the debug session to the IDE.

Opération Gestionnaire de session de débogageSession Debug Manager Operation

Le Gestionnaire de session de débogage (SDM) gère le DE.The session debug manager (SDM) manages the DE. Il peut y avoir plus d’un moteur de débogage en cours d’exécution sur un ordinateur en même temps.There may be more than one debug engine running on a machine at the same time. Pour multiplexer la norme DEs, le SDM encapsule un certain nombre d’interfaces à partir de la norme DEs et les expose à l’IDE comme une interface unique.To multiplex the DEs, the SDM wraps a number of interfaces from the DEs and exposes them to the IDE as a single interface.

Pour améliorer les performances, certaines interfaces ne sont pas multiplexés.To increase performance, some interfaces are not multiplexed. Au lieu de cela, ils sont utilisés directement à partir de la DE, et les appels à ces interfaces ne passent pas le SDM.Instead, they are used directly from the DE, and calls to these interfaces do not go through the SDM. Par exemple, les interfaces utilisées avec la mémoire, le code et les contextes de document ne sont pas multiplexés, car ils font référence à une instruction spécifique, la mémoire ou le document dans un programme spécifique de débogage par un spécifique DE.For example, interfaces used with memory, code, and document contexts are not multiplexed, because they refer to a specific instruction, memory, or document in a specific program debugged by a specific DE. Aucune autre DE ne doit être associé à ce niveau de la communication.No other DE needs to be involved in that level of communication.

Cela n’est pas vrai pour tous les contextes.This is not true of all contexts. Les appels à l’interface de contexte d’évaluation expression passent par le SDM.Calls to the expression evaluation context interface go through the SDM. Lors de l’évaluation d’expression, le SDM encapsule le IDebugExpression2 interface qui permet à l’IDE, car lorsque cette expression est évaluée, elle peut impliquer DEs multiples que vous déboguez des programmes dans le même processus qui peuvent être en cours d’exécution sur le même thread.During expression evaluation, the SDM wraps the IDebugExpression2 interface that it gives to the IDE because when that expression is evaluated, it may involve multiple DEs that are debugging programs in the same process that might be running on the same thread.

Le SDM sert généralement d’un mécanisme de délégation, mais il peut agir comme un mécanisme de diffusion.The SDM typically acts as a delegation mechanism, but it might act as a broadcast mechanism. Par exemple, lors de l’évaluation d’expression, le SDM joue un mécanisme de diffusion pour notifier DEs tous les qu’ils peuvent exécuter du code sur un thread spécifié.For example, during expression evaluation, the SDM acts as a broadcast mechanism to notify all DEs that they can run code on a specified thread. De même, lorsque le SDM reçoit un événement d’arrêt, il diffuse sur tous les programmes qu’ils ne doivent plus en cours d’exécution.Similarly, when the SDM receives a stopping event, it broadcasts to all programs that they should stop running. Lorsqu’une étape est appelée, le SDM diffuse à tous les programmes qu’ils peuvent continuer à s’exécuter.When a step is called, the SDM broadcasts to all the programs that they can continue running. Points d’arrêt sont également diffusés à tous DE.Breakpoints are also broadcast to every DE.

Le SDM ne suit pas le programme en cours, le thread ou le frame de pile.The SDM does not track the current program, thread, or stack frame. Le processus, le programme et le thread informations sont envoyées vers le SDM conjointement avec les événements de débogage spécifiques.The process, program, and thread information is sent to the SDM in conjunction with specific debugging events.

Voir aussiSee Also

Moteur de débogage Debug Engine
Composants du débogueur Debugger Components
Contextes du débogueurDebugger Contexts