Udostępnij za pośrednictwem


Dołączanie bezpośrednio do programu

Użytkownicy, którzy chcą debugować programy w procesie, który jest już uruchomiony, zwykle korzystają z tego procesu:

  1. W środowisku IDE otwórz menu Debuguj i wybierz polecenie Dołącz do procesu... .

    Zostanie wyświetlone okno dialogowe Dołączanie do procesu z listą wszystkich aparatów debugowania zainstalowanych na maszynie.

  2. Określ elementy DE używane do debugowania wybranego procesu, wybierz proces, a następnie kliknij przycisk Dołącz .

    Pakiet debugowania uruchamia sesję debugowania i przekazuje do niej listę DEs. Sesja debugowania z kolei przekazuje tę listę wraz z funkcją wywołania zwrotnego do wybranego procesu, a następnie prosi proces o wyliczenie uruchomionych programów.

    Programowo, w odpowiedzi na żądanie użytkownika, pakiet debugowania tworzy wystąpienie menedżera debugowania sesji (SDM) i przekazuje do niego listę wybranych jednostek DE. Wraz z listą pakiet debugowania przekazuje interfejs IDebugEventCallback2 sdM. Pakiet debugowania przekazuje listę kontrolerów domeny do wybranego procesu przez wywołanie metody IDebugProcess2::Attach. Następnie sdM wywołuje element IDebugProcess2::EnumPrograms na porcie, aby wyliczyć programy uruchomione w procesie.

    Od tego momentu każdy aparat debugowania jest dołączony do programu dokładnie tak, jak opisano w temacie Dołączanie po uruchomieniu z dwoma wyjątkami.

    W celu zapewnienia wydajności rozproszone, które są implementowane w celu współużytkowania przestrzeni adresowej z SDM są pogrupowane tak, aby każdy DE ma zestaw programów, do których będzie dołączany. W takim przypadku interfejs IDebugProcess2 wywołuje element IDebugEngine2::Attach i przekazuje do niego tablicę programów do dołączenia.

    Drugim wyjątkiem jest to, że zdarzenia uruchamiania wysyłane przez de dołączania do programu, który jest już uruchomiony, zwykle nie obejmują zdarzenia punktu wejścia.