COR_PRF_HIGH_MONITOR Enumeration
[Supported in the .NET Framework 4.5.2 and later versions]
Provides flags in addition to those found in the COR_PRF_MONITOR enumeration that the profiler can specify to the ICorProfilerInfo5::SetEventMask2 method when it is loading.
Syntax
typedef enum {
COR_PRF_HIGH_MONITOR_NONE = 0x00000000,
COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES = 0x00000001,
COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED = 0x00000002,
COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS = 0x00000004,
COR_PRF_HIGH_DISABLE_TIERED_COMPILATION = 0x00000008,
COR_PRF_HIGH_BASIC_GC = 0x00000010,
COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS = 0x00000020,
COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED = 0x00000040,
COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE = 0,
COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH = COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED |
COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS |
COR_PRF_HIGH_BASIC_GC |
COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS |
COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED,
COR_PRF_HIGH_MONITOR_IMMUTABLE = COR_PRF_HIGH_DISABLE_TIERED_COMPILATION
} COR_PRF_HIGH_MONITOR;
Members
Member | Description |
---|---|
COR_PRF_HIGH_MONITOR_NONE |
No flags are set. |
COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES |
Controls the ICorProfilerCallback6::GetAssemblyReference callback for adding assembly references during the CLR assembly reference closure walk. |
COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED |
Controls the ICorProfilerCallback7::ModuleInMemorySymbolsUpdated callback for updates to the symbol stream associated with an in-memory module. |
COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS |
Controls the ICorProfilerCallback9::DynamicMethodUnloaded callback for indicating when a dynamic method has been garbage collected and unloaded. Available since 4.7.2 |
COR_PRF_HIGH_DISABLE_TIERED_COMPILATION |
.NET Core 3.0 and later versions only: Disables tiered compilation for profilers. |
COR_PRF_HIGH_BASIC_GC |
.NET Core 3.0 and later versions only: Provides a lightweight GC profiling option compared to COR_PRF_MONITOR_GC . Controls only the GarbageCollectionStarted, GarbageCollectionFinished, and GetGenerationBounds callbacks. Unlike the COR_PRF_MONITOR_GC flag, COR_PRF_HIGH_BASIC_GC does not disable concurrent garbage collection. |
COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS |
.NET Core 3.0 and later versions only: Enables the MovedReferences and MovedReferences2 callbacks for compacting GCs only. |
COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED |
.NET Core 3.0 and later versions only: Similar to COR_PRF_MONITOR_OBJECT_ALLOCATED , but provides information on object allocations for the large object heap (LOH) only. |
COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE |
Represents all COR_PRF_HIGH_MONITOR flags that require profile-enhanced images. It corresponds to the COR_PRF_REQUIRE_PROFILE_IMAGE flag in the COR_PRF_MONITOR enumeration. |
COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH |
Represents all COR_PRF_HIGH_MONITOR flags that can be set after the profiler is attached to a running app. |
COR_PRF_HIGH_MONITOR_IMMUTABLE |
Represents all COR_PRF_HIGH_MONITOR flags that can be set only during initialization. Trying to change any of these flags elsewhere results in an HRESULT value that indicates failure. |
Remarks
The COR_PRF_HIGH_MONITOR
flags are used with the pdwEventsHigh
parameter of the ICorProfilerInfo5::GetEventMask2 and ICorProfilerInfo5::SetEventMask2 methods.
Starting with the .NET Framework 4.6.1, the value of the COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH
changed from 0 to COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED
(0x00000002). Starting with the .NET Framework 4.7.2, its value changed from COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED
to COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS
.
COR_PRF_HIGH_MONITOR_IMMUTABLE
is intended to be a bitmask that represents all flags that can only be set during initialization. Trying to change any of these flags elsewhere results in a failed HRESULT
.
Requirements
Platforms: See System Requirements.
Header: CorProf.idl, CorProf.h
Library: CorGuids.lib
.NET Framework Versions: Available since 4.5.2