ICorProfilerCallback2::GarbageCollectionStarted 方法

通知代码探查器,已开始垃圾回收。

语法

HRESULT GarbageCollectionStarted(  
    [in] int cGenerations,  
    [in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],  
    [in] COR_PRF_GC_REASON reason);  

参数

cGenerations
[in] generationCollected 数组中的总条目数。

generationCollected
[in] 一个布尔值数组,如果此垃圾回收正在回收与数组索引对应的生成,则为 true;否则为 false

[in] 数组由 COR_PRF_GC_GENERATION 枚举的一个值进行索引,该值指示该生成。

reason
[in] COR_PRF_GC_REASON 枚举的一个值,该值指示引发垃圾回收的原因。

注解

与此垃圾回收相关的所有回调都将在 GarbageCollectionStarted 回调和相应的 ICorProfilerCallback2::GarbageCollectionFinished 回调之间发生。 这些回调不需要在同一线程上发生。

探查器在 GarbageCollectionStarted 回调过程中可以安全地在对象的原始位置检查对象。 垃圾回收器将在从 GarbageCollectionStarted 返回后开始移动对象。 在探查器从此回调返回后,探查器应在收到 ICorProfilerCallback2::GarbageCollectionFinished 回调之前将所有对象 ID 视为无效。

要求

平台:请参阅系统要求

头文件: CorProf.idl、CorProf.h

库:CorGuids.lib

.NET Framework 版本:自 2.0 起可用

另请参阅