Udostępnij za pośrednictwem


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.