COR_PRF_MONITOR (Enumeración)
Contiene valores que se usan para especificar el comportamiento, las funcionalidades o los eventos a los que el generador de perfiles quiere suscribirse.
Sintaxis
typedef enum {
COR_PRF_MONITOR_NONE = 0x00000000,
COR_PRF_MONITOR_FUNCTION_UNLOADS = 0x00000001,
COR_PRF_MONITOR_CLASS_LOADS = 0x00000002,
COR_PRF_MONITOR_MODULE_LOADS = 0x00000004,
COR_PRF_MONITOR_ASSEMBLY_LOADS = 0x00000008,
COR_PRF_MONITOR_APPDOMAIN_LOADS = 0x00000010,
COR_PRF_MONITOR_JIT_COMPILATION = 0x00000020,
COR_PRF_MONITOR_EXCEPTIONS = 0x00000040,
COR_PRF_MONITOR_GC = 0x00000080,
COR_PRF_MONITOR_OBJECT_ALLOCATED = 0x00000100,
COR_PRF_MONITOR_THREADS = 0x00000200,
COR_PRF_MONITOR_REMOTING = 0x00000400,
COR_PRF_MONITOR_CODE_TRANSITIONS = 0x00000800,
COR_PRF_MONITOR_ENTERLEAVE = 0x00001000,
COR_PRF_MONITOR_CCW = 0x00002000,
COR_PRF_MONITOR_REMOTING_COOKIE = 0x00004000 |
COR_PRF_MONITOR_REMOTING,
COR_PRF_MONITOR_REMOTING_ASYNC = 0x00008000 |
COR_PRF_MONITOR_REMOTING,
COR_PRF_MONITOR_SUSPENDS = 0x00010000,
COR_PRF_MONITOR_CACHE_SEARCHES = 0x00020000,
COR_PRF_ENABLE_REJIT = 0x00040000,
COR_PRF_ENABLE_INPROC_DEBUGGING = 0x00080000,
COR_PRF_ENABLE_JIT_MAPS = 0x00100000,
COR_PRF_DISABLE_INLINING = 0x00200000,
COR_PRF_DISABLE_OPTIMIZATIONS = 0x00400000,
COR_PRF_ENABLE_OBJECT_ALLOCATED = 0x00800000,
COR_PRF_MONITOR_CLR_EXCEPTIONS = 0x01000000,
COR_PRF_MONITOR_ALL = 0x0107FFFF,
COR_PRF_ENABLE_FUNCTION_ARGS = 0X02000000,
COR_PRF_ENABLE_FUNCTION_RETVAL = 0X04000000,
COR_PRF_ENABLE_FRAME_INFO = 0X08000000,
COR_PRF_ENABLE_STACK_SNAPSHOT = 0X10000000,
COR_PRF_USE_PROFILE_IMAGES = 0x20000000,
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST
= 0x40000000,
COR_PRF_DISABLE_ALL_NGEN_IMAGES = 0x80000000,
COR_PRF_ALL = 0x8FFFFFFF,
COR_PRF_REQUIRE_PROFILE_IMAGE = COR_PRF_USE_PROFILE_IMAGES |
COR_PRF_MONITOR_CODE_TRANSITIONS |
COR_PRF_MONITOR_ENTERLEAVE,
COR_PRF_ALLOWABLE_AFTER_ATTACH = COR_PRF_MONITOR_THREADS |
COR_PRF_MONITOR_MODULE_LOADS |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
COR_PRF_ENABLE_STACK_SNAPSHOT |
COR_PRF_MONITOR_GC |
COR_PRF_MONITOR_SUSPENDS |
COR_PRF_MONITOR_CLASS_LOADS |
COR_PRF_MONITOR_JIT_COMPILATION,
COR_PRF_MONITOR_IMMUTABLE = COR_PRF_MONITOR_CODE_TRANSITIONS |
COR_PRF_MONITOR_REMOTING |
COR_PRF_MONITOR_REMOTING_COOKIE |
COR_PRF_MONITOR_REMOTING_ASYNC |
COR_PRF_ENABLE_REJIT |
COR_PRF_ENABLE_INPROC_DEBUGGING |
COR_PRF_ENABLE_JIT_MAPS |
COR_PRF_DISABLE_OPTIMIZATIONS |
COR_PRF_DISABLE_INLINING |
COR_PRF_ENABLE_OBJECT_ALLOCATED |
COR_PRF_ENABLE_FUNCTION_ARGS |
COR_PRF_ENABLE_FUNCTION_RETVAL |
COR_PRF_ENABLE_FRAME_INFO |
COR_PRF_USE_PROFILE_IMAGES |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |
COR_PRF_DISABLE_ALL_NGEN_IMAGES
} COR_PRF_MONITOR;
Miembros
En las secciones siguientes se enumeran los miembros de enumeración COR_PRF_MONITOR
por categoría. Estas categorías son:
No se estableció ninguna marca
Miembro | Descripción |
---|---|
COR_PRF_MONITOR_NONE |
No se establecen marcas. |
Marcas de devolución de llamada
Miembro | Descripción |
---|---|
COR_PRF_MONITOR_ALL |
Habilita todos los eventos de devolución de llamada. |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
Controla las devoluciones de llamada AppDomainCreation* y AppDomainShutdown* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
Controla las devoluciones de llamada AssemblyLoad* y AssemblyUnload* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_CACHE_SEARCHES |
Controla las devoluciones de llamada JITCachedFunctionSearch* en la interfaz ICorProfilerCallback.El comportamiento de esta marca se cambió en .NET Framework versión 2.0. |
COR_PRF_MONITOR_CCW |
Controla las devoluciones de llamada COMClassicVTable* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_CLASS_LOADS |
Controla las devoluciones de llamada ClassLoad* y ClassUnload* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_CLR_EXCEPTIONS |
Controla las devoluciones de llamada ExceptionCLRCatcher* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_CODE_TRANSITIONS |
Controla las devoluciones de llamada UnmanagedToManagedTransition y ManagedToUnmanagedTransition en la interfaz ICorProfilerCallback |
COR_PRF_MONITOR_ENTERLEAVE |
Controla lasfunciones estáticas globales de generación de perfiles, FunctionEnter* , FunctionLeave* y FunctionTailCall* . |
COR_PRF_MONITOR_EXCEPTIONS |
Controla la devolución de llamada ExceptionThrown y las devoluciones de llamada ExceptionSearch* , ExceptionOSHandler* , ExceptionUnwind* y ExceptionCatcher* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_FUNCTION_UNLOADS |
Controla la devolución de llamada FunctionUnloadStarted en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_GC |
Controla las devoluciones de llamada GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed y FinalizeableObjectQueued en las interfaces ICorProfilerCallback* . Cuando COR_PRF_MONITOR_GC se asigna, se desactiva la recolección de elementos no utilizados simultánea. |
COR_PRF_MONITOR_JIT_COMPILATION |
Controla las devoluciones de llamada JITCompilation* , JITFunctionPitched y JITInlining en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_MODULE_LOADS |
Controla las devoluciones de llamada ModuleLoad* , ModuleUnload* y ModuleAttachedToAssembly en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_OBJECT_ALLOCATED |
Controla la devolución de llamada ObjectAllocated en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_REMOTING |
Controla las devoluciones de llamada Remoting* en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_REMOTING_ASYNC |
Controla si las devoluciones de llamada Remoting* supervisarán eventos asincrónicos. |
COR_PRF_MONITOR_REMOTING_COOKIE |
Controla si se pasa una cookie a las devoluciones de llamada Remoting* . |
COR_PRF_MONITOR_SUSPENDS |
Controla las devoluciones de llamada RuntimeSuspend* , RuntimeResume* , RuntimeThreadSuspended y RuntimeThreadResumed en la interfaz ICorProfilerCallback. |
COR_PRF_MONITOR_THREADS |
Controla las devoluciones de llamada ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread y ThreadNameChanged en las interfaces ICorProfilerCallback e ICorProfilerCallback2. |
Marcas para habilitar características
Miembro | Descripción |
---|---|
COR_PRF_ENABLE_FRAME_INFO |
Habilita la recuperación de un ClassID exacto para una función genérica llamando al método GetFunctionInfo2 con un valor COR_PRF_FRAME_INFO devuelto por la devolución de llamada FunctionEnter2. |
COR_PRF_ENABLE_FUNCTION_ARGS |
Habilita el seguimiento de argumentos usando las devoluciones de llamada FunctionEnter2 o FunctionEnter3WithInfo y el método GetFunctionEnter3Info. |
COR_PRF_ENABLE_FUNCTION_RETVAL |
Permite realizar el seguimiento de valores devueltos usando las devoluciones de llamada FunctionLeave2 o FunctionLeave3WithInfo y el método GetFunctionLeave3Info. |
COR_PRF_ENABLE_INPROC_DEBUGGING |
Desusado. No se admite la depuración en proceso. Esta marca no tiene efecto. |
COR_PRF_ENABLE_JIT_MAPS |
Desusado. Permite al generador de perfiles obtener asignaciones de IL a nativo usando GetILToNativeMapping. A partir de .NET Framework 2.0, el tiempo de ejecución siempre realiza el seguimiento de las asignaciones de IL a nativo; por lo tanto, se considera que esta marca está siempre establecida. |
COR_PRF_ENABLE_OBJECT_ALLOCATED |
Informa al tiempo de ejecución que puede que el generador de perfiles quiera notificaciones de asignación de objetos. Esta marca se debe establecer durante la inicialización. Permite al generador de perfiles seguir usando la marca COR_PRF_MONITOR_OBJECT_ALLOCATED para recibir devoluciones de llamada ObjectAllocated. |
COR_PRF_ENABLE_REJIT |
Habilita las llamadas a los métodos RequestReJIT y RequestRevert. El generador de perfiles debe establecer esta marca en el inicio. Si el generador de perfiles especifica esta marca, también debe especificar COR_PRF_DISABLE_ALL_NGEN_IMAGES . |
COR_PRF_ENABLE_STACK_SNAPSHOT |
Habilita las llamadas al método DoStackSnapshot. |
Marcas de configuración
Miembro | Descripción |
---|---|
COR_PRF_DISABLE_ALL_NGEN_IMAGES |
Impide que se carguen todas las imágenes nativas (incluidas imágenes mejoradas por el generador de perfiles). Si se especifican esta marca y la marca COR_PRF_USE_PROFILE_IMAGES , se usa COR_PRF_DISABLE_ALL_NGEN_IMAGES . |
COR_PRF_DISABLE_INLINING |
Deshabilita todas las inserciones. |
COR_PRF_DISABLE_OPTIMIZATIONS |
Deshabilita todas las optimizaciones de código. |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |
Deshabilita las comprobaciones de transparencia de seguridad que normalmente se realizan durante la compilación Just-In-Time (JIT) y la carga de las clases para ensamblados de confianza total. Esto puede hacer que la instrumentación sea más fácil de realizar. |
COR_PRF_USE_PROFILE_IMAGES |
Hace que la búsqueda de imágenes nativas busque imágenes mejoradas por el generador de perfiles. Si no se encuentra ninguna imagen mejorada por el generador de perfiles para un ensamblado determinado, Common Language Runtime vuelve a JIT para ese ensamblado. Si se especifican esta marca y la marca COR_PRF_DISABLE_ALL_NGEN_IMAGES , se usa COR_PRF_DISABLE_ALL_NGEN_IMAGES . |
Marcas compuestas
Miembro | Descripción |
---|---|
COR_PRF_ALL |
Representa todos los valores de la marca COR_PRF_MONITOR . |
COR_PRF_ALLOWABLE_AFTER_ATTACH |
Representa todas las marcas COR_PRF_MONITOR que se pueden establecer después de que el generador de perfiles se asocie a una aplicación en ejecución. En la sección sobre la sintaxis se indica cada una de las marcas presentes en esta máscara de bits. |
COR_PRF_MONITOR_ALL |
Habilita todos los eventos de devolución de llamada. |
COR_PRF_MONITOR_IMMUTABLE |
Representa todas las marcas COR_PRF_MONITOR que se pueden establecer solo durante la inicialización. Al intentar cambiar cualquiera de estas marcas después de la inicialización se genera un valor HRESULT que indica error. |
COR_PRF_REQUIRE_PROFILE_IMAGE |
Representa todas las marcas COR_PRF_MONITOR que requieren imágenes mejoradas para el perfil. |
Comentarios
Se usa un valor COR_PRF_MONITOR
con los métodos ICorProfilerInfo::GetEventMask y ICorProfilerInfo::SetEventMask para definir las notificaciones de eventos que Common Language Runtime envía al generador de perfiles.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: está disponible desde la versión 1.0