Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 ClassLoad and ClassUnload callbacks. ![]()
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. ![]()
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_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