ICorProfilerCallback::RootReferences 方法

垃圾回收后,向探查器通知有关根引用的信息。

语法

HRESULT RootReferences(  
    [in] ULONG    cRootRefs,  
    [in, size_is(cRootRefs)] ObjectID rootRefIds[] );  

参数

cRootRefs
[in] rootRefIds 数组中的引用数量。

rootRefIds
[in] 引用静态对象或堆栈对象的对象 ID 数组。

注解

同时调用 RootReferencesICorProfilerCallback2::RootReferences2 以通知探查器。 探查器通常会实现其中一种方法(但不会两者同时实现)因为传入 RootReferences2 的信息是传入 RootReferences 的超集。

rootRefIds 数组可以包含空对象。 例如,在堆栈上声明的所有对象引用都被垃圾回收器视为根,并将始终报告。

RootReferences 返回的对象 ID 在回调过程中均是无效的,因为垃圾回收可能正处于将对象从旧地址移到新地址的阶段。 因此,探查器不应在 RootReferences 调用期间尝试检查对象。 调用 ICorProfilerCallback2::GarbageCollectionFinished 时,所有对象已移动到其新位置,可以安全地进行检查。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅