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
。
陣列會以指出世代的 COR_PRF_GC_GENERATION 列舉值來編製索引。
reason
[in] COR_PRF_GC_REASON 列舉的值,會指出引發記憶體回收的原因。
備註
與這個記憶體回收相關的所有回呼會在 GarbageCollectionStarted
回呼與對應的 ICorProfilerCallback2::GarbageCollectionFinished 回呼之間發生。 這些回呼不需要發生在相同的執行緒上。
分析工具在 GarbageCollectionStarted
回呼期間可以安全地檢查其原始位置中的物件。 記憶體回收行程會在 GarbageCollectionStarted
傳回資料後開始移動物件。 從這個回呼傳回分析工具後,分析工具應該會將所有物件識別碼視為無效,直到其收到 ICorProfilerCallback2::GarbageCollectionFinished
回呼為止。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起提供