Struktur DacpGcHeapDetails

Mendefinisikan buffer transportasi untuk informasi tumpukan pengumpulan sampah terperinci.

Note

API ini awalnya dirancang untuk penggunaan internal dalam runtime. Meskipun sekarang didukung untuk penggunaan pihak ketiga, sebaiknya menggunakan API ICorDebug dan ICorProfiler jika memungkinkan.

Syntax

#define DAC_NUMBERGENERATIONS 4

struct DacpGcHeapDetails : ZeroInit<DacpGcHeapDetails>
{
    CLRDATA_ADDRESS heapAddr; // Only filled in in server mode, otherwise NULL
    CLRDATA_ADDRESS alloc_allocated;

    CLRDATA_ADDRESS mark_array;
    CLRDATA_ADDRESS current_c_gc_state;
    CLRDATA_ADDRESS next_sweep_obj;
    CLRDATA_ADDRESS saved_sweep_ephemeral_seg;
    CLRDATA_ADDRESS saved_sweep_ephemeral_start;
    CLRDATA_ADDRESS background_saved_lowest_address;
    CLRDATA_ADDRESS background_saved_highest_address;

    DacpGenerationData generation_table [DAC_NUMBERGENERATIONS]; 
    CLRDATA_ADDRESS ephemeral_heap_segment;        
    CLRDATA_ADDRESS finalization_fill_pointers [DAC_NUMBERGENERATIONS + 3];
    CLRDATA_ADDRESS lowest_address;
    CLRDATA_ADDRESS highest_address;
    CLRDATA_ADDRESS card_table;

    // Use this for workstation mode (DacpGcHeapData.bServerMode==FALSE).
    HRESULT Request(ISOSDacInterface *sos)
    {
        return sos->GetGCHeapStaticData(this);
    }

    // Use this for Server mode, as there are multiple heaps,
    // and you need to pass a heap address in addr.
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetGCHeapDetails(addr, this);
    }
};

Members

Anggota Deskripsi
heapAddr Alamat tumpukan GC. Anggota ini hanya diisi dalam mode server; jika tidak, itu adalah NULL.
alloc_allocated Penunjuk alokasi saat ini untuk timbunan.
mark_array Alamat array tanda.
current_c_gc_state Alamat status GC yang memampatkan saat ini.
next_sweep_obj Alamat objek berikutnya untuk disapu.
saved_sweep_ephemeral_seg Alamat segmen ephemeral yang disimpan untuk pembersihan.
saved_sweep_ephemeral_start Alamat mulai sapuan ephemeral yang disimpan.
background_saved_lowest_address Alamat terendah yang disimpan untuk status GC latar belakang.
background_saved_highest_address Alamat tertinggi disimpan untuk status GC latar belakang.
generation_table Array struktur DacpGenerationData dengan data untuk setiap generasi GC.
ephemeral_heap_segment Alamat segmen timbunan ephemeral.
finalization_fill_pointers Array penunjuk pengisian finalisasi.
lowest_address Alamat terendah dalam timbunan.
highest_address Alamat tertinggi di tumpuk.
card_table Alamat tabel kartu GC.
Request Mengisi struktur dengan memanggil ISOSDacInterface::GetGCHeapStaticData workstation GC atau ISOSDacInterface::GetGCHeapDetails untuk server GC.

Remarks

Struktur ini berada di dalam runtime dan tidak diekspos melalui header atau file pustaka apa pun. Untuk menggunakannya, tentukan struktur seperti yang ditentukan di atas.

Persyaratan

Platform: Lihat Persyaratan Sistem.
Header: Tidak
Perpustakaan: Tidak
.NET Framework Versions: Tersedia sejak 4.7

Baca juga