Programas
Na arquitetura do depurador, um programa:
É um contêiner para um conjunto de threads e um conjunto de módulos. Um programa não tem uma única analogia no sistema operacional Windows.
Um programa é uma espécie de subprocesso. Por exemplo, quando você está depurando um site, um script pode ser visto como um programa. Enquanto um script é executado no processo do mecanismo de script, independente de outros scripts, ele também tem seu próprio conjunto de threads. Um DE (mecanismo de depuração) é anexado a um programa, e não a um processo ou thread.
Pode identificar a si mesmo e o processo em que está sendo executado. Um nó de programa pode ser anexado, ser desanexado e descrever o DE que o criou, se houver. Um programa também pode ser executado, parado, continuado e encerrado.
Pode enumerar todos os seus threads. Um programa também pode fornecer seu próprio fluxo de desmontagem e pode enumerar todos os contextos de código de uma determinada posição de documento.
É representado por uma interface IDebugProgram2, criada antes de o programa ser anexado, ou como parte do processo de anexação, dependendo da implementação. Quando uma porta enumera os programas de um processo, cada programa é criado de acordo com uma interface IDebugProgramNode2 correspondente passada como um argumento para AddProgramNode. Embora os mecanismos de depuração também criem interfaces
IDebugProgram2
para representar programas, esses programas não são criados de acordo com um nó de programa. As interfacesIDebugProgramNode2
criadas por um DE são usadas para depuração real, enquanto aquelas criadas por uma porta são usadas apenas para descobrir quais programas estão sendo executados em um processo.