DacpHeapSegmentData-structuur

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

Zie ook