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_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