Envío de eventos de inicio después de un inicio
Una vez que el motor de depuración (DE) está asociado al programa, envía una serie de eventos de inicio a la sesión de depuración.
Los eventos de inicio enviados de vuelta a la sesión de depuración incluyen:
Evento de creación de motor.
Evento de creación de programas.
Eventos de carga de subprocesos y carga de módulos.
Evento de carga completa, enviado cuando el código se carga y está listo para ejecutarse, pero antes de que se ejecute cualquier código.
Nota:
Cuando este evento continúa, se inicializan las variables globales y se ejecutan las rutinas de inicio.
Posibles otros eventos de carga de módulos y creación de subprocesos.
Evento de punto de entrada, que indica que el programa ha alcanzado su punto de entrada principal, como Main o
WinMain
. Este evento no se envía normalmente si el DE se adjunta a un programa que ya se está ejecutando.Mediante programación, el DE envía primero el administrador de depuración de sesión (SDM) una interfaz IDebugEngineCreateEvent2 , que representa un evento de creación del motor, seguido de un IDebugProgramCreateEvent2, que representa un evento de creación de programa.
Estos eventos suelen ir seguidos de uno o varios eventos de creación de subprocesos IDebugThreadCreateEvent2 y eventos de carga del módulo IDebugModuleLoadEvent2 .
Cuando el código se carga y está listo para ejecutarse, pero antes de que se ejecute cualquier código, el DE envía al SDM un evento de carga IDebugLoadCompleteEvent2 . Por último, si el programa aún no se está ejecutando, el DE envía un evento de punto de entrada IDebugEntryPointEvent2 , lo que indica que el programa ha alcanzado su punto de entrada principal y está listo para la depuración.