DacpHeapSegmentData struktúra

A szemétgyűjtési halomszegmens információinak átviteli pufferét határozza meg.

Note

Ezt az API-t eredetileg belső használatra tervezték a futtatókörnyezetben. Bár most már harmadik fél általi használat esetén is támogatott, javasoljuk, hogy lehetőség szerint működj együtt az ICorDebug API-kkal és az API-kkalICorProfiler.

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

Tag Leírás
segmentAddr A halomszegmens címe.
allocated A szegmens lefoglalt részének címe.
committed Az a cím, amelyig a szegmenshez le van kötve a memória.
reserved Az a cím, amelyig a szegmens számára fenntartott memória van fenntartva.
used Az a cím, amelyig a szegmenshez memória van használva.
mem A szegmensmemória kezdőcíme.
next A következő szegmens címe. Adja át ezt az értéket Request , ha nem null értékű a következő szegmens lekérése.
gc_heap A GC-halom címe. Ez a tag csak kiszolgáló módban van kitöltve; ellenkező esetben az NULL.
highAllocMark A magas foglalási jel. Ha ez a szegmens a rövid élettartamú szegmens, akkor ez az érték magában foglalja a rövid élettartamú generációt is.
flags A halomszegmens jelzői.
background_allocated A szegmenshez hozzárendelt háttérbeli csoportházirend-cím.
Request A struktúra feltöltése hívással ISOSDacInterface::GetHeapSegmentData és számítással highAllocMark.

Remarks

Ez a struktúra a futtatókörnyezetben található, és nem jelenik meg élőfejeken vagy tárfájlokon keresztül. A használathoz definiálja a struktúrát a fent megadott módon.

Követelmények

Platformok: Lásd a rendszerkövetelményeket.
Fejléc: Egyik sem
Könyvtár: Egyik sem
.NET keretrendszerverziók: 4.7 óta érhető el

Lásd még