Programas
En la arquitectura del depurador, un programa:
Es un contenedor para un conjunto de subprocesos y módulos. Un programa no tiene una sola analogía en el sistema operativo Windows.
Un programa es un tipo de subproceso. Por ejemplo, al depurar un sitio web, se puede ver un script como un programa. Mientras un script se ejecuta en el proceso del motor de scripts, independientemente de otros scripts, también tiene su propio conjunto de subprocesos. Un motor de depuración (DE) se asocia a un programa y no a un proceso ni a un subproceso.
Puede identificarse a sí mismo y al proceso en el que se está ejecutando. Un programa se puede asociar, desasociar y describir el DE que lo creó, si existe. Un programa también puede se ejecutar, detener, continuar y finalizar.
Puede enumerar todos sus subprocesos. Un programa también puede proporcionar su propia secuencia de desensamblaje y puede enumerar todos los contextos de código de una posición de documento determinada.
Se representa mediante una interfaz IDebugProgram2, creada antes de asociar el programa o como parte del proceso de asociación, dependiendo de la implementación. Cuando un puerto enumera los programas de un proceso, cada programa se crea de acuerdo con una interfaz IDebugProgramNode2 correspondiente que se transfiere como argumento a AddProgramNode. Aunque los motores de depuración también crean interfaces
IDebugProgram2
para representar programas, estos programas no se crean de acuerdo con un nodo de programa. Las interfacesIDebugProgramNode2
creadas por un DE se usan para la depuración real, mientras que las creadas por un puerto solo se usan para detectar qué programas se ejecutan en un proceso.