ICorDebugManagedCallback2::Exception (Método)
Notifica al depurador que se ha iniciado una búsqueda de un controlador de excepciones.
Sintaxis
HRESULT Exception (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFrame *pFrame,
[in] ULONG32 nOffset,
[in] CorDebugExceptionCallbackType dwEventType,
[in] DWORD dwFlags
);
Parámetros
pAppDomain
[in] Puntero a un objeto ICorDebugAppDomain que representa el dominio de aplicación que contiene el subproceso en el que se produjo la excepción.
pThread
[in] Puntero a un objeto ICorDebugThread que representa el subproceso en el que se produjo la excepción.
pFrame
[in] Puntero a un objeto ICorDebugFrame que representa un marco, determinado por el dwEventType
parámetro . Para más información, consulte la tabla de la sección de Comentario.
nOffset
[in] Entero que especifica un desplazamiento, determinado por el dwEventType
parámetro . Para más información, consulte la tabla de la sección de Comentario.
dwEventType
[in] Valor de la enumeración CorDebugExceptionCallbackType que especifica el tipo de esta devolución de llamada de excepción.
dwFlags
[in] Valor de la enumeración CorDebugExceptionFlags que especifica información adicional sobre la excepción.
Comentarios
La devolución de llamada Exception
se llama en varios puntos durante la fase de búsqueda del proceso de gestión de excepciones. Es decir, se puede llamar más de una vez mientras se desenrolla una excepción.
La excepción que se está procesando puede ser recuperada del objeto ICorDebugThread referenciado por el parámetro pThread
.
El marco y el desplazamiento concretos se determinan mediante el parámetro dwEventType
de la siguiente manera:
Valor de dwEventType |
Valor de pFrame |
Valor de nOffset |
---|---|---|
DEBUG_EXCEPTION_FIRST_CHANCE | El marco que produjo la excepción. | Puntero de instrucción en el marco. |
DEBUG_EXCEPTION_USER_FIRST_CHANCE | El marco de código de usuario más cercano al punto de la excepción lanzada. | Puntero de instrucción en el marco. |
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND | El marco que contiene el manipulador de captura. | Desplazamiento común del lenguaje intermedio (CIL) del principio del controlador catch. |
DEBUG_EXCEPTION_UNHANDLED | NULL | Sin definir. |
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 2.0