Supervisión de eventos

Para obtener información general sobre los eventos en el motor del depurador, consulte Eventos.

Los eventos que se producen en un destino o el motor del depurador se pueden supervisar mediante la interfaz IDebugEventCallbacks . Un objeto IDebugEventCallbacks se puede registrar con un cliente mediante SetEventCallbacks. Cada cliente solo puede tener como máximo un objeto IDebugEventCallbacks registrado con él.

Cuando se registra un objeto IDebugEventCallbacks con un cliente, el motor llamará al IDebugEventCallbacks::GetInterestMask del objeto para determinar qué eventos está interesado el objeto. Solo se enviarán los eventos en los que el objeto está interesado.

Para cada tipo de evento, el motor llama a un método de devolución de llamada correspondiente en IDebugEventCallbacks. En el caso de los eventos del destino, el valor de DEBUG_STATUS_XXX devuelto de estas llamadas especifica cómo debe continuar la ejecución del destino. El motor recopila estos valores devueltos de cada objeto IDebugEventCallbacks al que llama y actúa en el que tiene la prioridad más alta.

Eventos del destino que se interrumpen en el depurador de forma predeterminada

Los siguientes eventos se dividen en el depurador de forma predeterminada:

  • Eventos de punto de interrupción

  • Eventos de excepción (no documentados aquí)

  • Error de sistema

Eventos del destino que no se interrumpan en el depurador de forma predeterminada

Los siguientes eventos no se dividen en el depurador de forma predeterminada:

  • Crear evento de proceso

  • Exit Process (evento)

  • Crear evento de subproceso

  • Exit Thread (evento)

  • Load Module (evento)

  • Unload Module (evento)

Cambios internos del motor

Los siguientes no son eventos reales, pero son simplemente cambios internos del motor:

  • Cambio de destino

  • Cambio del motor

  • Cambio de símbolos del motor

  • Cambio de estado de sesión