Bagikan melalui


Struktur COR_GC_REFERENCE

Berisi informasi tentang objek yang akan dikumpulkan sampah.

Syntax

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

Members

Anggota Description
domain Penunjuk ke domain aplikasi tempat handel atau objek berada. Nilainya mungkin null.
location Baik antarmuka ICorDebugValue atau ICorDebugReferenceValue yang sesuai dengan objek yang akan dikumpulkan sampah.
type Nilai enumerasi CorGCReferenceType yang menunjukkan dari mana akar berasal. Untuk informasi selengkapnya, lihat bagian Keterangan.
extraData Data tambahan tentang objek yang akan dikumpulkan sampah. Informasi ini tergantung pada sumber objek, seperti yang ditunjukkan type oleh bidang . Untuk informasi selengkapnya, lihat bagian Keterangan.

Komentar

Bidang type adalah nilai enumerasi CorGCReferenceType yang menunjukkan dari mana referensi berasal. Nilai tertentu COR_GC_REFERENCE dapat mencerminkan salah satu jenis objek terkelola berikut:

  • Objek dari semua tumpukan terkelola (CorGCReferenceType.CorReferenceStack). Ini termasuk referensi langsung dalam kode terkelola, serta objek yang dibuat oleh runtime bahasa umum.
  • Objek dari tabel handel (CorGCReferenceType.CorHandle*). Ini termasuk referensi yang kuat (HNDTYPE_STRONG dan HNDTYPE_REFCOUNT) dan variabel statis dalam modul.
  • Objek dari antrean finalizer (CorGCReferenceType.CorReferenceFinalizer). Finalizer mengantrekan objek hingga finalizer berjalan.

Bidang extraData berisi data tambahan tergantung pada sumber (atau jenis) referensi. Nilai yang mungkin adalah:

  • DependentSource. type Jika adalah CorGCReferenceType.CorHandleStrongDependent, bidang ini adalah objek yang, jika hidup, mengakar objek yang akan dikumpulkan sampah di COR_GC_REFERENCE.Location.
  • RefCount. type Jika adalah CorGCReferenceType.CorHandleStrongRefCount, bidang ini adalah jumlah referensi handel.
  • Size. type Jika adalah CorGCReferenceType.CorHandleStrongSizedByref, bidang ini adalah ukuran terakhir pohon objek tempat pengumpul sampah menghitung akar objek. Perhatikan bahwa perhitungan ini belum tentu diperbarui.

Persyaratan

Platform: Lihat Sistem operasi yang didukung .NET.

Header: CorDebug.idl, CorDebug.h

Perpustakaan: CorGuids.lib

Versi .NET: Tersedia sejak .NET Framework 4.5