Structuur DacpGcHeapDetails

Definieert een transportbuffer voor gedetailleerde informatie over garbagecollection heap.

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

#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

Lid Beschrijving
heapAddr Het adres van de GC heap. Dit lid wordt alleen ingevuld in de servermodus; anders is NULLhet .
alloc_allocated De huidige toewijzingsaanwijzer voor de heap.
mark_array Het adres van de markeringsmatrix.
current_c_gc_state Het adres van de huidige GC-status comprimeren.
next_sweep_obj Het adres van het volgende object dat moet worden geveegd.
saved_sweep_ephemeral_seg Het adres van het opgeslagen kortstondige segment voor een opruimen.
saved_sweep_ephemeral_start Het adres van de opgeslagen kortstondige opruimen start.
background_saved_lowest_address Het laagste adres dat is opgeslagen voor de GC-status van de achtergrond.
background_saved_highest_address Het hoogste adres dat is opgeslagen voor de GC-status van de achtergrond.
generation_table Een matrix van DacpGenerationData-structuren met gegevens voor elke GC-generatie.
ephemeral_heap_segment Het adres van het kortstondige heap-segment.
finalization_fill_pointers Een matrix met vulaanwijzers voor voltooien.
lowest_address Het laagste adres in de heap.
highest_address Het hoogste adres in de heap.
card_table Het adres van de GC-kaarttafel.
Request Hiermee wordt de structuur gevuld door aan te roepen ISOSDacInterface::GetGCHeapStaticData voor werkstation GC of ISOSDacInterface::GetGCHeapDetails voor server GC.

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