Programy
W architekturze debugera program:
Jest kontenerem zarówno dla zestawu wątków, jak i zestawu modułów. Program nie ma pojedynczej analogii w systemie operacyjnym Windows.
Program jest rodzajem podprocesu. Na przykład podczas debugowania witryny sieci Web skrypt może być postrzegany jako program. Skrypt jest uruchamiany w procesie aparatu skryptów, niezależnie od innych skryptów, ale ma również własny zestaw wątków. Aparat debugowania (DE) dołącza się do programu, a nie do procesu lub wątku.
Może zidentyfikować się i proces, w którym jest uruchomiony. Program można dołączyć, odłączyć i opisać de, który go utworzył, jeśli istnieje. Program może również wykonywać, zatrzymywać, kontynuować i kończyć.
Może wyliczać wszystkie jego wątki. Program może również dostarczać własny strumień dezasemblacji i wyliczać wszystkie konteksty kodu danego położenia dokumentu.
Jest reprezentowany przez interfejs IDebugProgram2 , utworzony przed dołączeniem programu lub w ramach procesu dołączania, w zależności od implementacji. Gdy port wylicza programy procesu, każdy program jest tworzony zgodnie z odpowiadającym interfejsem IDebugProgramNode2 przekazywanym jako argument addProgramNode. Aparaty debugowania tworzą
IDebugProgram2
również interfejsy do reprezentowania programów, ale te programy nie są tworzone zgodnie z węzłem programu. InterfejsyIDebugProgramNode2
utworzone przez de są używane do rzeczywistego debugowania, podczas gdy te utworzone przez port są używane tylko do odnajdywania, które programy są uruchomione w procesie.