COR_PRF_MONITOR Enumeration
Contains values that are used to specify behavior, capabilities, or events to which the profiler wishes to subscribe.
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_MONITOR_CLR_EXCEPTIONS = 0x01000000,
COR_PRF_MONITOR_ALL = 0x0107FFFF,
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_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_ALL = 0x3FFFFFFF,
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_MONITOR_GC |
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_ENABLE_STACK_SNAPSHOT |
COR_PRF_USE_PROFILE_IMAGES
} COR_PRF_MONITOR;
Member | Description |
|---|---|
COR_PRF_MONITOR_NONE | No flags are set. |
COR_PRF_MONITOR_FUNCTION_UNLOADS | Controls the FunctionUnloadStarted callback. |
COR_PRF_MONITOR_CLASS_LOADS | Controls the ClassLoad and ClassUnload callbacks. NoteThe behavior of this flag is changed in the .NET Framework version 2.0. |
COR_PRF_MONITOR_MODULE_LOADS | Controls the ModuleLoad, ModuleUnload, and ModuleAttachedToAssembly callbacks. |
COR_PRF_MONITOR_ASSEMBLY_LOADS | Controls the AssemblyLoad and AssemblyUnload callbacks. |
COR_PRF_MONITOR_APPDOMAIN_LOADS | Controls the AppDomainCreation and AppDomainShutdown callbacks. |
COR_PRF_MONITOR_JIT_COMPILATION | Controls the JITCompilation, JITFunctionPitched, and JITInlining callbacks. |
COR_PRF_MONITOR_EXCEPTIONS | Controls the ExceptionThrown, ExceptionSearch, ExceptionOSHandler, ExceptionUnwind, and ExceptionCatcher callbacks. |
COR_PRF_MONITOR_GC | Controls the GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, SurvivingReferences, ObjectReferences, ObjectsAllocatedByClass, RootReferences, HandleCreated, HandleDestroyed, and FinalizeableObjectQueued callbacks. |
COR_PRF_MONITOR_OBJECT_ALLOCATED | Controls the ObjectAllocated callback. |
COR_PRF_MONITOR_THREADS | Controls the ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread, and ThreadNameChanged callbacks. |
COR_PRF_MONITOR_REMOTING | Controls the Remoting callbacks. |
COR_PRF_MONITOR_CODE_TRANSITIONS | Controls the UnmanagedToManagedTransition and ManagedToUnmanagedTransition callbacks. |
COR_PRF_MONITOR_ENTERLEAVE | Controls the FunctionEnter, FunctionLeave, and FunctionTailcall callbacks. |
COR_PRF_MONITOR_CCW | Controls COMClassicVTable callbacks. |
COR_PRF_MONITOR_REMOTING_COOKIE | Controls whether a cookie is passed to Remoting callbacks |
COR_PRF_MONITOR_REMOTING_ASYNC | Controls whether Remoting callbacks will monitor asynchronous events |
COR_PRF_MONITOR_SUSPENDS | Controls the RuntimeSuspend, RuntimeResume, RuntimeThreadSuspended, and RuntimeThreadResumed callbacks. |
COR_PRF_MONITOR_CACHE_SEARCHES | Controls JITCachedFunctionSearch callbacks. NoteThe behavior of this flag is changed in the .NET Framework version 2.0. |
COR_PRF_MONITOR_CLR_EXCEPTIONS | Controls the ExceptionCLRCatcher callbacks. |
COR_PRF_MONITOR_ALL | Enables all callback events. |
COR_PRF_ENABLE_REJIT | Deprecated. ReJIT is not supported. This flag has no effect. |
COR_PRF_ENABLE_INPROC_DEBUGGING | Deprecated. In process debugging is not supported. This flag has no effect. |
COR_PRF_ENABLE_JIT_MAPS | Deprecated. Enables the profiler to obtain MSIL-to-native maps by using ICorProfilerInfo::GetILToNativeMapping. In the .NET Framework version 2.0, the runtime always tracks MSIL-to-native maps; therefore, this flag is always considered to be set. |
COR_PRF_DISABLE_INLINING | Disables all inlining. |
COR_PRF_DISABLE_OPTIMIZATIONS | Disables all code optimizations. |
COR_PRF_ENABLE_OBJECT_ALLOCATED | Indicates to the runtime that the profiler might want object allocation notifications. This must be set during initialization if the profiler wants notification with COR_PRF_MONITOR_OBJECT_ALLOCATED. |
COR_PRF_ENABLE_FUNCTION_ARGS | Enables argument tracing using FunctionEnter2. |
COR_PRF_ENABLE_FUNCTION_RETVAL | Enables tracing of return values using FunctionLeave2. |
COR_PRF_ENABLE_FRAME_INFO | Enables the retrieval of an exact ClassID for a generic function, using a call to GetFunctionInfo2 with a COR_PRF_FRAME_INFO structure returned from a call to FunctionEnter2, FunctionLeave2, or FunctionTailcall2. |
COR_PRF_ENABLE_STACK_SNAPSHOT | Enables calls to DoStackSnapshot. |
COR_PRF_USE_PROFILE_IMAGES | Causes the native image search to look for profiler-enhanced images. If no profiler-enhanced image is found for a given assembly, the common language runtime falls back to JIT for that assembly. |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUSt | Disables security transparency checks that are normally done during just-in-time (JIT) compilation and class loading for full-trust assemblies. This can make some instrumentation easier to perform. |
COR_PRF_ALL | The mask for valid flag values. |
COR_PRF_MONITOR_IMMUTABLE | Represents all flags that can be set only during initialization. Trying to change any of these flags after initialization returns an HRESULT value indicating failure. |
Platforms: See .NET Framework System Requirements.
Header: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET Framework Versions: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0
Note