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:
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.
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.