DacpGcHeapDetails – struktura

Definuje vyrovnávací paměť přenosu pro podrobné informace o haldě uvolňování paměti.

Note

Toto rozhraní API bylo původně navrženo pro interní použití v modulu runtime. I když se teď podporuje pro použití třetí strany, doporučujeme pracovat s rozhraními ICorDebug API, ICorProfiler pokud je to možné.

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

Člen Description
heapAddr Adresa haldy GC. Tento člen je vyplněn pouze v režimu serveru; jinak je NULLto .
alloc_allocated Aktuální ukazatel přidělení haldy.
mark_array Adresa pole značky.
current_c_gc_state Adresa aktuálního komprimujícího stavu GC.
next_sweep_obj Adresa dalšího objektu, který se má uklidit.
saved_sweep_ephemeral_seg Adresa uloženého dočasného segmentu pro uklidení.
saved_sweep_ephemeral_start Adresa uložené dočasného úklidu začíná.
background_saved_lowest_address Nejnižší adresa uložená pro stav uvolňování paměti na pozadí.
background_saved_highest_address Nejvyšší adresa uložená pro stav uvolňování paměti na pozadí.
generation_table Pole dacpGenerationData struktur s daty pro každou generaci GC.
ephemeral_heap_segment Adresa dočasného segmentu haldy.
finalization_fill_pointers Pole ukazatelů výplně finalizace.
lowest_address Nejnižší adresa v haldě.
highest_address Nejvyšší adresa v haldě.
card_table Adresa tabulky karty GC.
Request Naplní strukturu voláním ISOSDacInterface::GetGCHeapStaticData GC pracovní stanice nebo ISOSDacInterface::GetGCHeapDetails serverového GC.

Remarks

Tato struktura se nachází uvnitř modulu runtime a není vystavena prostřednictvím žádných hlaviček nebo souborů knihovny. Pokud ji chcete použít, definujte strukturu, jak je uvedeno výše.

Požadavky

Platformy: Viz požadavky na systém.
Záhlaví: Žádný
Knihovna: Žádný
.NET Framework verze: K dispozici od verze 4.7

Viz také