Partager via


Choisir une stratégie d’implémentation du moteur de débogage

Utilisez l'architecture d'exécution pour déterminer votre stratégie d'implémentation de moteur de débogage (DE). Vous pouvez créer le moteur de débogage dans le processus pour le programme que vous déboguez. Créez le moteur de débogage dans le processus pour le gestionnaire de débogage de session de Visual Studio (SDM). Vous pouvez également créer le moteur de débogage hors processus pour chacun d'eux. Les instructions suivantes doivent vous aider à choisir parmi ces trois stratégies.

Guidelines

Bien qu’il soit possible que le DE soit hors processus à la fois pour le SDM et le programme que vous déboguez, il n’y a généralement aucune raison de le faire. Les appels entre les limites de processus sont relativement lents.

Les moteurs de débogage sont déjà fournis pour l’environnement d’exécution natif Win32 et pour l’environnement d’exécution du langage commun. Si vous devez remplacer le DE pour l’un ou l’autre des environnements, vous devriez créer le DE directement avec le SDM.

Sinon, vous créez le DE dans le processus du SDM ou dans le processus du programme que vous déboguez. Vous devez prendre en compte si l’évaluateur d’expression du DE nécessite un accès fréquent au magasin de symboles du programme. Ou, si le magasin de symboles peut être chargé en mémoire pour un accès rapide. Tenez également compte des approches suivantes :

  • S’il n’y a pas beaucoup d’appels entre l’évaluateur d’expression et le magasin de symboles, ou si le magasin de symboles peut être lu dans l’espace mémoire SDM, créez le DE in-process sur le SDM. Vous devez retourner le CLSID du moteur de débogage au SDM lorsqu’il est attaché à votre programme. Le SDM utilise ce CLSID pour créer une instance en processus du DE.

  • Si le DE doit appeler le programme pour accéder au magasin de symboles, créez le DE in-process avec le programme. Dans ce cas, le programme crée l’instance du DE.