Udostępnij przez


Wysyłanie zdarzeń uruchamiania po starcie aplikacji

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

  • Zdarzenie związane z tworzeniem 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 / Notatka

    Gdy to zdarzenie jest kontynuowane, zmienne globalne są inicjowane, a procedury rozruchowe uruchamiane.

  • 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 już działa.

    Programowo DE najpierw wysyła menedżerowi debugowania sesji (SDM) interfejs IDebugEngineCreateEvent2, który reprezentuje zdarzenie tworzenia silnika, a następnie interfejs 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 załadowany i gotowy do uruchomienia, ale przed wykonaniem jakiegokolwiek kodu, DE wysyła do SDM zdarzenie zakończenia ładowania IDebugLoadCompleteEvent2. Na koniec, 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.