Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Definieert een transportbuffer voor informatie over het heap-segment van garbagecollection.
Note
Deze API is oorspronkelijk ontworpen voor intern gebruik in de runtime. Hoewel het nu wordt ondersteund voor gebruik van derden, raden we u aan om indien mogelijk met ICorDebug en ICorProfiler API's te werken.
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
| Lid | Beschrijving |
|---|---|
segmentAddr |
Het adres van het heap-segment. |
allocated |
Het adres van het toegewezen gedeelte van het segment. |
committed |
Het adres tot aan welk geheugen voor het segment wordt vastgelegd. |
reserved |
Het adres waartoe het geheugen is gereserveerd voor het segment. |
used |
Het adres tot aan welk geheugen voor het segment wordt gebruikt. |
mem |
Het beginadres van het segmentgeheugen. |
next |
Het adres van het volgende segment. Geef deze waarde door aan Request als deze niet null is om het volgende segment op te halen. |
gc_heap |
Het adres van de GC heap. Dit lid wordt alleen ingevuld in de servermodus; anders is NULLhet . |
highAllocMark |
Het hoge toewijzingsteken. Als dit segment het tijdelijke segment is, bevat deze waarde de kortstondige generatie. |
flags |
De heap-segmentvlagmen. |
background_allocated |
Het toegewezen adres van de achtergrond GC voor het segment. |
Request |
Vult de structuur door aanroepen en berekeningen highAllocMarkaan te roepenISOSDacInterface::GetHeapSegmentData. |
Remarks
Deze structuur bevindt zich in de runtime en wordt niet weergegeven via headers of bibliotheekbestanden. Als u deze wilt gebruiken, definieert u de structuur zoals hierboven is opgegeven.
Requirements
Platformen: Zie Systeemvereisten.
Rubriek: Geen
Bibliotheek: Geen
.NET Framework-versies: beschikbaar sinds 4.7