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 起可用