Partager via


Programmes

Dans l’architecture du débogueur, un programme :

  • Conteneur pour un ensemble de threads et un ensemble de modules. Un programme n’a aucune analogie unique dans le système d’exploitation Windows.

    Un programme est un type de sous-processus. Par exemple, lorsque vous déboguez un site Web, un script peut être considéré comme un programme. Alors qu’un script s’exécute dans le processus du moteur de script, indépendamment d’autres scripts, il a également son propre ensemble de threads. Un moteur de débogage (DE) s’attache à un programme, et non à un processus ou à un thread.

  • Peut s’identifier et le processus dans lequel il s’exécute. Un programme peut être attaché, être détaché et décrire le DE qui l’a créé, le cas échéant. Un programme peut également exécuter, arrêter, continuer et être arrêté.

  • Peut énumérer tous ses threads. Un programme peut également fournir son propre flux de désassemblement et peut énumérer tous les contextes de code d’une position de document donnée.

  • Est représenté par une interface IDebugProgram2 , créée avant l’attachement du programme ou dans le cadre du processus d’attachement, en fonction de l’implémentation. Lorsqu’un port énumère les programmes d’un processus, chaque programme est créé conformément à une interface IDebugProgramNode2 correspondante passée en tant qu’argument à AddProgramNode. Bien que les moteurs de débogage créent également des interfaces IDebugProgram2 pour représenter des programmes, ces programmes ne sont pas créés en suivant les règles d'un nœud de programme. Les IDebugProgramNode2 interfaces créées par un DE sont utilisées pour le débogage réel, tandis que celles créées par un port sont utilisées uniquement pour découvrir les programmes qui s’exécutent dans un processus.

Voir aussi