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;
Members
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. Note The 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. Note The 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. |
Requirements
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