DacpGcHeapDetails Yapısı

Ayrıntılı çöp toplama yığın bilgileri için bir aktarım arabelleği tanımlar.

Note

Bu API başlangıçta çalışma zamanında iç kullanım için tasarlanmıştır. Artık üçüncü taraf kullanımı için desteklense de mümkün olduğunda ve ICorDebug API'leriyle ICorProfiler çalışmanızı öneririz.

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

Üye Açıklama
heapAddr GC yığınının adresi. Bu üye yalnızca sunucu modunda doldurulur; aksi takdirde, şeklindedir NULL.
alloc_allocated Öbek için geçerli ayırma işaretçisi.
mark_array İşaret dizisinin adresi.
current_c_gc_state Geçerli sıkıştırma GC durumunun adresi.
next_sweep_obj Süpürecek sonraki nesnenin adresi.
saved_sweep_ephemeral_seg Süpürme için kaydedilen kısa ömürlü segmentin adresi.
saved_sweep_ephemeral_start Kaydedilen kısa ömürlü süpürme başlangıcının adresi.
background_saved_lowest_address Arka plan GC durumu için kaydedilen en düşük adres.
background_saved_highest_address Arka plan GC durumu için kaydedilen en yüksek adres.
generation_table Her GC nesli için veri içeren bir DacpGenerationData yapıları dizisi.
ephemeral_heap_segment Kısa ömürlü yığın kesiminin adresi.
finalization_fill_pointers Sonlandırma dolgu işaretçileri dizisi.
lowest_address Yığındaki en düşük adres.
highest_address Yığındaki en yüksek adres.
card_table GC kart tablosunun adresi.
Request İş istasyonu GC'sini veya ISOSDacInterface::GetGCHeapDetails sunucu GC'sini çağırarak ISOSDacInterface::GetGCHeapStaticData yapıyı doldurur.

Remarks

Bu yapı çalışma zamanının içinde bulunur ve hiçbir üst bilgi veya kitaplık dosyası aracılığıyla kullanıma sunulmaz. Bunu kullanmak için, yukarıda belirtilen yapıyı tanımlayın.

Requirements

Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: Hiç kimse
Kütüphane: Hiç kimse
.NET Framework Sürümleri: 4.7 sürümünden itibaren kullanılabilir

Ayrıca bakınız