DacpGcHeapDetails-struktur

Definierar en transportbuffert för detaljerad information om skräpinsamlingshögen.

Note

Det här API:et utformades ursprungligen för intern användning i körningen. Även om det nu stöds för användning från tredje part rekommenderar vi att du arbetar med ICorDebug OCH ICorProfiler API:er när det är möjligt.

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

Medlem Beskrivning
heapAddr GC-heapens adress. Den här medlemmen fylls bara i i serverläge. annars är NULLdet .
alloc_allocated Den aktuella allokeringspekaren för heapen.
mark_array Adressen till markmatrisen.
current_c_gc_state Adressen för det aktuella komprimerande GC-tillståndet.
next_sweep_obj Adressen till nästa objekt som ska sopas.
saved_sweep_ephemeral_seg Adressen till det sparade tillfälliga segmentet för en svepning.
saved_sweep_ephemeral_start Adressen till den sparade tillfälliga svepstarten.
background_saved_lowest_address Den lägsta adressen som sparats för bakgrundstillståndet för GC.
background_saved_highest_address Den högsta adressen som sparats för bakgrundstillståndet för GC.
generation_table En matris med DacpGenerationData strukturerar med data för varje GC-generation.
ephemeral_heap_segment Adressen för det tillfälliga heapsegmentet.
finalization_fill_pointers En matris med fyllningspekare för slutförande.
lowest_address Den lägsta adressen i högen.
highest_address Den högsta adressen i heapen.
card_table Adressen till GC-korttabellen.
Request Fyller i strukturen genom att anropa ISOSDacInterface::GetGCHeapStaticData för arbetsstation GC eller ISOSDacInterface::GetGCHeapDetails för server GC.

Remarks

Den här strukturen finns i körningen och exponeras inte via några rubriker eller biblioteksfiler. Om du vill använda den definierar du strukturen enligt ovan.

Requirements

Plattformar: Se Systemkrav.
Rubrik: Ingen
Bibliotek: Ingen
.NET Framework-versioner: Tillgänglig sedan 4.7

Se även