Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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