Share via


Programmi

Nell'architettura del debugger, un programma:

  • Contenitore per un set di thread e un set di moduli. Un programma non ha una singola analogia nel sistema operativo Windows.

    Un programma è un tipo di sottoprocesso. Ad esempio, quando si esegue il debug di un sito Web, uno script può essere visualizzato come programma. Mentre uno script viene eseguito nel processo del motore di scripting, indipendentemente da altri script, ha anche un proprio set di thread. Un motore di debug (DE) si collega a un programma e non a un processo o a un thread.

  • Può identificarsi e il processo in cui è in esecuzione. Un programma può essere collegato a, essere scollegato da e descrivere il DE che lo ha creato, se presente. Un programma può anche eseguire, arrestare, continuare e terminare.

  • Può enumerare tutti i thread. Un programma può anche fornire il proprio flusso disassembly e può enumerare tutti i contesti di codice di una determinata posizione del documento.

  • È rappresentato da un'interfaccia IDebugProgram2 , creata prima che il programma sia collegato o come parte del processo di collegamento, a seconda dell'implementazione. Quando una porta enumera i programmi di un processo, ogni programma viene creato in base a un'interfaccia IDebugProgramNode2 corrispondente passata come argomento a AddProgramNode. Anche se i motori di debug creano IDebugProgram2 anche interfacce per rappresentare i programmi, questi programmi non vengono creati in base a un nodo del programma. Le IDebugProgramNode2 interfacce create da un DE vengono usate per il debug effettivo, mentre quelle create da una porta vengono usate solo per individuare i programmi in esecuzione in un processo.

Vedi anche