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.
Çöp toplama yığın segmenti 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
struct DacpHeapSegmentData
: ZeroInit<DacpHeapSegmentData>
{
CLRDATA_ADDRESS segmentAddr;
CLRDATA_ADDRESS allocated;
CLRDATA_ADDRESS committed;
CLRDATA_ADDRESS reserved;
CLRDATA_ADDRESS used;
CLRDATA_ADDRESS mem;
// pass this to request if non-null to get the next segments.
CLRDATA_ADDRESS next;
CLRDATA_ADDRESS gc_heap; // only filled in in server mode, otherwise NULL
// computed field: if this is the ephemeral segment highMark includes the ephemeral generation
CLRDATA_ADDRESS highAllocMark;
size_t flags;
CLRDATA_ADDRESS background_allocated;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr, const DacpGcHeapDetails& heap)
{
HRESULT hr = sos->GetHeapSegmentData(addr, this);
// if this is the start segment, set highAllocMark too.
if (SUCCEEDED(hr))
{
// TODO: This needs to be put on the Dac side.
if (this->segmentAddr == heap.generation_table[0].start_segment)
highAllocMark = heap.alloc_allocated;
else
highAllocMark = allocated;
}
return hr;
}
};
Members
| Üye | Açıklama |
|---|---|
segmentAddr |
Yığın kesiminin adresi. |
allocated |
Segmentin ayrılan bölümünün adresi. |
committed |
Segment için belleğin işlendiği adres. |
reserved |
Segment için en fazla belleğin ayrıldığı adres. |
used |
Segment için belleğin kullanıldığı adres. |
mem |
Segment belleğinin başlangıç adresi. |
next |
Sonraki kesimin adresi. Sonraki segmenti almak için Request bu değeri null olmayan bir değere geçirin. |
gc_heap |
GC yığınının adresi. Bu üye yalnızca sunucu modunda doldurulur; aksi takdirde, şeklindedir NULL. |
highAllocMark |
Yüksek ayırma işareti. Bu kesim kısa ömürlü segmentse, bu değer kısa ömürlü oluşturmayı içerir. |
flags |
Yığın kesimi bayrakları. |
background_allocated |
Segment için arka plan GC ayrılmış adresi. |
Request |
öğesini çağırarak ISOSDacInterface::GetHeapSegmentData ve hesaplayarak yapısını doldurur highAllocMark. |
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