Wysyłanie zdarzeń uruchamiania po uruchomieniu
Gdy aparat debugowania (DE) zostanie dołączony do programu, wysyła serię zdarzeń uruchamiania z powrotem do sesji debugowania.
Zdarzenia uruchamiania wysyłane z powrotem do sesji debugowania obejmują:
Zdarzenie tworzenia aparatu.
Zdarzenie tworzenia programu.
Tworzenie wątków i zdarzenia ładowania modułów.
Zdarzenie ukończenia ładowania wysyłane, gdy kod jest ładowany i gotowy do uruchomienia, ale przed wykonaniem jakiegokolwiek kodu.
Uwaga
Gdy to zdarzenie będzie kontynuowane, zmienne globalne są inicjowane i uruchamiane procedury uruchamiania.
Możliwe inne zdarzenia tworzenia wątku i ładowania modułów.
Zdarzenie punktu wejścia, które sygnalizuje, że program osiągnął główny punkt wejścia, taki jak Main lub
WinMain
. To zdarzenie nie jest zwykle wysyłane, jeśli de dołącza do programu, który jest już uruchomiony.Programowo de najpierw wysyła menedżera debugowania sesji (SDM) interfejs IDebugEngineCreateEvent2 , który reprezentuje zdarzenie tworzenia aparatu, a następnie IDebugProgramCreateEvent2, który reprezentuje zdarzenie tworzenia programu.
Po tych zdarzeniach zwykle następuje co najmniej jedno zdarzenie tworzenia wątku IDebugThreadCreateEvent2 i zdarzenia ładowania modułu IDebugModuleLoadEvent2 .
Gdy kod jest ładowany i gotowy do uruchomienia, ale przed wykonaniem dowolnego kodu de wysyła SDM zdarzenie IDebugLoadCompleteEvent2 . Jeśli program nie jest jeszcze uruchomiony, de wysyła zdarzenie punktu wejścia IDebugEntryPointEvent2 , sygnalizując, że program osiągnął główny punkt wejścia i jest gotowy do debugowania.