Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Proporciona una notificación de que la ejecución de código ha encontrado un asistente de depuración administrado (MDA) en la aplicación que se está depurando.
Syntax
HRESULT MDANotification(
[in] ICorDebugController *pController,
[in] ICorDebugThread *pThread,
[in] ICorDebugMDA *pMDA
);
Parámetros
pController [in] Puntero a una interfaz ICorDebugController que expone el proceso o el dominio de aplicación en el que se produjo el MDA.
Un depurador no debe realizar ninguna suposición sobre si el controlador es un proceso o un dominio de aplicación, aunque siempre puede consultar la interfaz para realizar una determinación.
pThread [in] Puntero a una interfaz ICorDebugThread que expone el subproceso administrado en el que se produjo el evento de depuración.
Si el MDA se produjo en un subproceso no administrado, el valor de pThread será NULL.
Debe obtener el identificador de subproceso del sistema operativo (SO) del propio objeto MDA.
pMDA [in] Puntero a una interfaz ICorDebugMDA que expone la información de MDA.
Observaciones
Un MDA es una advertencia heurística y no requiere ninguna acción explícita del depurador, excepto para llamar a ICorDebugController::Continue para reanudar la ejecución de la aplicación que se está depurando.
Common Language Runtime (CLR) puede determinar qué MDA se desencadenan y qué datos están en cualquier momento dado de MDA. Por lo tanto, los depuradores no deben crear ninguna funcionalidad que requiera patrones MDA específicos.
Los MDA se pueden poner en cola y desencadenarse poco después de que se encuentre el MDA. Esto podría ocurrir si el tiempo de ejecución necesita esperar hasta que alcance un punto seguro para desencadenar el MDA, en lugar de desencadenar el MDA cuando lo encuentre. También significa que el tiempo de ejecución puede desencadenar una serie de MDA en un único conjunto de devoluciones de llamada en cola (similar a una operación de evento "adjuntar").
Un depurador debe liberar la referencia a una ICorDebugMDA instancia inmediatamente después de volver de la MDANotification devolución de llamada, para permitir que CLR rerecicle la memoria consumida por un MDA. Liberar la instancia puede mejorar el rendimiento si se activan muchos MDA.
Requisitos
Plataformas: Consulte Sistemas operativos compatibles con .NET.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET: Disponible desde .NET Framework 2.0