COR_PRF_HIGH_MONITOR 枚举
[仅在 .NET Framework 4.5.2 及更高版本中受支持]
提供除在 COR_PRF_MONITOR 枚举中找到的标志以外的标志,探查器可以在其加载时将这些标志指定给 ICorProfilerInfo5::SetEventMask2 方法。
语法
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;
成员
成员 | 说明 |
---|---|
COR_PRF_HIGH_MONITOR_NONE |
不设置任何标志。 |
COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES |
控制 ICorProfilerCallback6::GetAssemblyReference 回调,以供在 CLR 程序集引用闭包审核期间添加程序集引用。 |
COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED |
控制 ICorProfilerCallback7::ModuleInMemorySymbolsUpdated 回调,以更新与内存中模块关联的符号流。 |
COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS |
控制 ICorProfilerCallback9::DynamicMethodUnloaded 回调,以指示何时对动态方法进行垃圾回收和卸载。 自 4.7.2 之后可用 |
COR_PRF_HIGH_DISABLE_TIERED_COMPILATION |
仅 .NET Core 3.0 及更高版本:禁用探查器的分层编译。 |
COR_PRF_HIGH_BASIC_GC |
仅 .NET Core 3.0 及更高版本:提供与 COR_PRF_MONITOR_GC 相比的轻型 GC 分析选项。 仅控制 GarbageCollectionStarted、GarbageCollectionFinished 和 GetGenerationBounds 回调。 与 COR_PRF_MONITOR_GC 标志不同,COR_PRF_HIGH_BASIC_GC 不禁用并发垃圾回收。 |
COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS |
仅 .NET Core 3.0 及更高版本:仅启用用于压缩 GC 的 MovedReferences 和 MovedReferences2 回调。 |
COR_PRF_HIGH_MONITOR_LARGEOBJECT_ALLOCATED |
仅 .NET Core 3.0 及更高版本:与 COR_PRF_MONITOR_OBJECT_ALLOCATED 类似,但仅提供有关大型对象堆 (LOH) 对象分配的信息。 |
COR_PRF_HIGH_REQUIRE_PROFILE_IMAGE |
表示需要配置增强的映像的所有 COR_PRF_HIGH_MONITOR 标志。 与 COR_PRF_MONITOR 枚举中的 COR_PRF_REQUIRE_PROFILE_IMAGE 标志对应。 |
COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH |
表示可以在将探查器附加到运行中的应用之后进行设置的所有 COR_PRF_HIGH_MONITOR 标志。 |
COR_PRF_HIGH_MONITOR_IMMUTABLE |
表示只能在初始化过程中进行设置的所有 COR_PRF_HIGH_MONITOR 标志。 如果尝试从其他位置更改这些标志中的任何一个标志,则会产生一个指示失败的 HRESULT 值。 |
注解
COR_PRF_HIGH_MONITOR
标志与 ICorProfilerInfo5::GetEventMask2 和 ICorProfilerInfo5::SetEventMask2 方法的 pdwEventsHigh
参数一起使用。
从 .NET Framework 4.6.1 开始,COR_PRF_HIGH_ALLOWABLE_AFTER_ATTACH
的值从 0 更改为 COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED
(0x00000002)。 从 .NET Framework 4.7.2 开始,其值从 COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED
更改为 COR_PRF_HIGH_IN_MEMORY_SYMBOLS_UPDATED | COR_PRF_HIGH_MONITOR_DYNAMIC_FUNCTION_UNLOADS
。
COR_PRF_HIGH_MONITOR_IMMUTABLE
专用作位掩码,表示只能在初始化期间设置的所有标志。 尝试在其他地方更改这些标志中的任意一个会导致 HRESULT
失败。
要求
平台:请参阅系统要求。
头文件: CorProf.idl、CorProf.h
库:CorGuids.lib
.NET Framework 版本:4.5.2 及更高版本