共用方式為


COR_GC_REFERENCE結構

包含要記憶體回收之物件的相關資訊。

語法

typedef struct _COR_GC_REFERENCE {
    ICorDebugAppDomain *domain;
    ICorDebugValue *location;
    CorGCReferenceType type;
    UINT64 extraData;
} COR_GC_REFERENCE;

Members

成員 Description
domain 控制碼或物件所屬應用程式網域的指標。 它的值可能是 null
location ICorDebugValue 或 ICorDebugReferenceValue 介面,對應至要記憶體回收的物件。
type CorGCReferenceType 列舉值,指出根目錄的來源。 如需詳細資訊,請參閱一節。
extraData 有關要進行垃圾收集之物件的其他資料。 此資訊取決於物件的來源,如欄位所示 type 。 如需詳細資訊,請參閱一節。

備註

欄位 typeCorGCReferenceType 列舉值,指出參考的來源。 特定 COR_GC_REFERENCE 值可以反映下列任何類型的受管理物件:

  • 來自所有受管理堆疊的物件 (CorGCReferenceType.CorReferenceStack)。 這包括 Managed 程式碼中的即時參考,以及 Common Language 執行階段所建立的物件。
  • 控點資料表 ()CorGCReferenceType.CorHandle* 中的物件。 這包括模組中的強引用 (HNDTYPE_STRONGHNDTYPE_REFCOUNT) 和靜態變數。
  • 來自終結器佇列 ()CorGCReferenceType.CorReferenceFinalizer 的物件。 終結器佇列會根目錄物件,直到終結器執行為止。

extraData 欄位包含額外的資料,視參考的來源 (或類型) 而定。 可能的值包括:

  • DependentSource。 如果 是 typeCorGCReferenceType.CorHandleStrongDependent,則此欄位是物件,如果還活著,則將要進行記憶體回收的物件根源設在 COR_GC_REFERENCE.Location
  • RefCount。 如果是 typeCorGCReferenceType.CorHandleStrongRefCount,則此欄位是控制碼的參照計數。
  • Size。 如果 是 typeCorGCReferenceType.CorHandleStrongSizedByref,則此欄位是記憶體回收器計算物件根目錄的物件樹狀結構的最後一個大小。 請注意,此計算不一定是最新的。

需求

平台: 請參閱 .NET 支援的作業系統

標題: CorDebug.idl、CorDebug.h

圖書館: CorGuids.lib

.NET 版本: 自 .NET Framework 4.5 起提供