ICorProfilerCallback::RootReferences 方法
在記憶體回收之後,通知分析工具有關根參考的資訊。
語法
HRESULT RootReferences(
[in] ULONG cRootRefs,
[in, size_is(cRootRefs)] ObjectID rootRefIds[] );
參數
cRootRefs
[in] rootRefIds
陣列中的參考數目。
rootRefIds
[in] 物件識別碼的陣列,會參考靜態物件或堆疊上的物件。
備註
會呼叫 RootReferences
和 ICorProfilerCallback2::RootReferences2 來通知分析工具。 分析工具通常會實作其中一個,但不會同時實作這兩個,因為傳入 RootReferences2
的資訊是傳入 RootReferences
之資訊的超集。
rootRefIds
陣列可以包含 null 物件。 例如,在堆疊上宣告的所有物件參考都會由記憶體回收行程視為根目錄,而且一律會報告這些參考。
RootReferences
在自行回呼期間所傳回的物件識別碼無效,因為記憶體回收可能正在將物件從舊位址移至新位址。 因此,分析工具不得嘗試在 RootReferences
呼叫期間檢查物件。 呼叫 ICorProfilerCallback2::GarbageCollectionFinished 時,所有物件都已移至其新位置,因此可以安全地檢查。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起可用