ProgramsPrograms

En termes de l’architecture du débogueur, une programme:In terms of the debugger architecture, a program:

  • Est un conteneur pour un ensemble de threads et un ensemble de modules.Is a container for both a set of threads and a set of modules. Un programme n’a aucune analogie unique dans le système d’exploitation Windows.A program has no single analogy in the Windows operating system.

    Un programme est une sorte de sous-processus.A program is a kind of subprocess. Par exemple, lorsque vous déboguez un site Web, un script peut être considéré comme un programme.For example, when you are debugging a Web site, a script can be seen as a program. Même si un script s’exécute dans le processus du moteur de script, indépendamment des autres scripts, il possède aussi son propre ensemble de threads.While a script runs in the scripting engine process, independent of other scripts, it also has its own set of threads. Un moteur de débogage (DE) joint à un programme et non à un processus ou un thread.A debug engine (DE) attaches to a program, and not to a process or a thread.

  • Peut identifier lui-même et le processus est en cours d’exécution, elle puisse être joint à être détaché et décrivent le DE qui l’a créé, le cas échéant.Can identify itself and the process it is running in, and can be attached to, be detached from, and describe the DE that created it, if any. Un programme peut s’exécuter, arrêter, continuer et se terminer.A program can execute, stop, continue, and be terminated.

  • Peut énumérer tous les threads.Can enumerate all its threads. Un programme peut également fournir son propre flux de code machine et peut énumérer tous les contextes de code d’une position de document donné.A program can also supply its own disassembly stream, and can enumerate all the code contexts of a given document position.

  • Est représenté par un IDebugProgram2 interface, créé avant que le programme est attaché, ou dans le cadre du processus d’attachement, selon l’implémentation.Is represented by an IDebugProgram2 interface, created before the program is attached, or as part of the attach process, depending on the implementation. Lorsqu’un port énumère les programmes d’un processus, chaque programme est créé conformément à correspondante IDebugProgramNode2 interface est passée comme argument à AddProgramNode.When a port enumerates the programs of a process, each program is created in accordance with a corresponding IDebugProgramNode2 interface passed as an argument to AddProgramNode. Alors que les moteurs de débogage également créer IDebugProgram2 interfaces pour représenter, ces programmes ne sont pas créés en fonction d’un nœud de programme.While debug engines also create IDebugProgram2 interfaces to represent programs, these programs are not created in accordance with a program node. Le IDebugProgramNode2 interfaces créés par un DE sont utilisés pour le débogage réel, tandis que ceux créés par un port sont utilisées uniquement pour la découverte les programmes qui sont exécutent dans un processus.The IDebugProgramNode2 interfaces created by a DE are used for actual debugging, while those created by a port are used only for discovering which programs are running in a process.

Voir aussiSee Also

Processus Processes
Nœuds de programme Program Nodes
Modules Modules
Concepts du débogueur Debugger Concepts
Moteur de débogage Debug Engine
Position du document Document Position
Contexte de code Code Context
IDebugProgram2 IDebugProgram2
IDebugProgramNode2 IDebugProgramNode2
AddProgramNodeAddProgramNode