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_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 ClassLoadXxx and ClassUnloadXxx callbacks.
Note
The behavior of this flag is changed in the .NET Framework version 2.0.
|
COR_PRF_MONITOR_MODULE_LOADS |
Controls the ModuleLoadXxx, ModuleUnloadXxx, and ModuleAttachedToAssembly callbacks. |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
Controls the AssemblyLoadXxx and AssemblyUnloadXxx callbacks. |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
Controls the AppDomainCreationXxx and AppDomainShutdownXxx callbacks. |
COR_PRF_MONITOR_JIT_COMPILATION |
Controls the JITCompilationXxx, JITFunctionPitched, and JITInlining callbacks. |
COR_PRF_MONITOR_EXCEPTIONS |
Controls the ExceptionThrown, ExceptionSearchXxx, ExceptionOSHandlerXxx, ExceptionUnwindXxx, and ExceptionCatcherXxx callbacks. |
COR_PRF_MONITOR_GC |
Controls the GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, SurvivingReferences, ObjectReferences, ObjectsAllocatedByClass, RootReferencesXxx, 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 RemotingXxx callbacks. |
COR_PRF_MONITOR_CODE_TRANSITIONS |
Controls the UnmanagedToManagedTransition and ManagedToUnmanagedTransition callbacks. |
COR_PRF_MONITOR_ENTERLEAVE |
Controls the FunctionEnterXxx, FunctionLeaveXxx, and FunctionTailcallXxx callbacks. |
COR_PRF_MONITOR_CCW |
Controls COMClassicVTableXxx callbacks. |
COR_PRF_MONITOR_REMOTING_COOKIE |
Controls whether a cookie is passed to RemotingXxx callbacks |
COR_PRF_MONITOR_REMOTING_ASYNC |
Controls whether RemotingXxx callbacks will monitor asynchronous events |
COR_PRF_MONITOR_SUSPENDS |
Controls the RuntimeSuspendXxx, RuntimeResumeXxx, RuntimeThreadSuspended, and RuntimeThreadResumed callbacks. |
COR_PRF_MONITOR_CACHE_SEARCHES |
Controls JITCachedFunctionSearchXxx callbacks.
Note
The behavior of this flag is changed in the .NET Framework version 2.0.
|
COR_PRF_MONITOR_CLR_EXCEPTIONS |
Controls the ExceptionCLRCatcherXxx 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 IL-to-native maps using ICorProfilerInfo::GetILToNativeMapping Method. In the .NET Framework version 2.0, the runtime always tracks IL-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_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: Windows 2000, Windows XP, Windows Server 2003 family
Header: CorProf.idl
Library: CorGuids.lib
.NET Framework Version: 2.0, 1.1, 1.0