COR_PRF_EX_CLAUSE_INFO (Estructura)
Almacena información sobre una instancia específica de cláusula de excepción y su marco asociado.
Sintaxis
typedef struct COR_PRF_EX_CLAUSE_INFO {
COR_PRF_CLAUSE_TYPE clauseType;
UINT_PTR programCounter;
UINT_PTR framePointer;
UINT_PTR shadowStackPointer;
} COR_PRF_EX_CLAUSE_INFO;
Miembros
Miembro | Descripción |
---|---|
clauseType |
Este valor se corresponde con uno de los valores de la enumeración COR_PRF_CLAUSE_TYPE, que se usan para especificar el tipo de cláusula de excepción en la que acaba de entrar o de la que acaba de salir el código. |
programCounter |
Este valor se usa para almacenar el punto de entrada nativo del controlador de cláusulas (por ejemplo: el contenido del registro EIP X86). |
framePointer |
Este valor se usa para almacenar el puntero que apunta al marco lógico del controlador de cláusulas (por ejemplo: el contenido del registro EBP X86). |
shadowStackPointer |
Este valor se usa para almacenar el puntero que apunta a la pila paralela. Este valor se corresponde con el contenido del registro BSP y solo se aplica a la arquitectura IA64. |
Comentarios
Cuando se recibe una notificación de excepción, se puede usar el método ICorProfilerInfo2::GetNotifiedExceptionClauseInfo para obtener la información de la dirección nativa y del marco de la cláusula de excepción (catch
/finally
/filter) que está a punto de ejecutarse o que se acaba de ejecutar.
La ejecución de una cláusula de excepción implica las siguientes devoluciones de llamada, que se reciben desde la infraestructura Common Language Runtime (CLR):
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 2.0