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 分析选项。 仅控制 GarbageCollectionStartedGarbageCollectionFinishedGetGenerationBounds 回调。 与 COR_PRF_MONITOR_GC 标志不同,COR_PRF_HIGH_BASIC_GC 不禁用并发垃圾回收。
COR_PRF_HIGH_MONITOR_GC_MOVED_OBJECTS 仅 .NET Core 3.0 及更高版本:仅启用用于压缩 GC 的 MovedReferencesMovedReferences2 回调。
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::GetEventMask2ICorProfilerInfo5::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 及更高版本

另请参阅