Udostępnij przez


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 działa w procesie aparatu skryptowego, niezależnie od innych skryptów, a także ma własny zestaw wątków. Silnik 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łączać do DE, odłączać od DE oraz opisywać DE, które go utworzyło, o ile istnieje. Program może również wykonywać, zatrzymywać, kontynuować i kończyć.

  • Może wyliczać wszystkie jego wątki. Program jest w stanie dostarczać własny strumień dezasemblacji i wyliczać wszystkie konteksty kodu określonego 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. Silniki debugowania również tworzą IDebugProgram2 interfejsy do reprezentowania programów, ale te nie są tworzone zgodnie z węzłem programu. Interfejsy IDebugProgramNode2 utworzone przez DE są używane do rzeczywistego debugowania, podczas gdy te utworzone przez port służą jedynie do identyfikowania, które programy są uruchomione w procesie.

Zobacz także