DacpGcHeapDetails, struktura

Definiuje bufor transportu dla szczegółowych informacji o stercie odzyskiwania pamięci.

Note

Ten interfejs API został pierwotnie zaprojektowany do użytku wewnętrznego w środowisku uruchomieniowym. Mimo że jest ona teraz obsługiwana w przypadku używania innych firm, zalecamy pracę z interfejsami ICorDebug API i ICorProfiler , jeśli jest to możliwe.

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

Członek Opis
heapAddr Adres sterta GC. Ten element członkowski jest wypełniany tylko w trybie serwera; w przeciwnym razie jest to NULL.
alloc_allocated Bieżący wskaźnik alokacji sterty.
mark_array Adres tablicy oznaczeń.
current_c_gc_state Adres bieżącego skompaktowania stanu GC.
next_sweep_obj Adres następnego obiektu do zamiatania.
saved_sweep_ephemeral_seg Adres zapisanego segmentu efemerycznego dla zamiatania.
saved_sweep_ephemeral_start Adres zapisanego efemerycznego uruchomienia zamiatania.
background_saved_lowest_address Najniższy adres zapisany dla stanu GC w tle.
background_saved_highest_address Najwyższy adres zapisany dla stanu GC w tle.
generation_table Tablica struktur DacpGenerationData z danymi dla każdej generacji GC.
ephemeral_heap_segment Adres efemerycznego segmentu sterta.
finalization_fill_pointers Tablica wskaźników wypełnienia finalizacji.
lowest_address Najniższy adres w stercie.
highest_address Najwyższy adres w stercie.
card_table Adres tabeli kart GC.
Request Wypełnia strukturę przez wywołanie ISOSDacInterface::GetGCHeapStaticData kontrolera GC stacji roboczej lub ISOSDacInterface::GetGCHeapDetails kontrolera GC serwera.

Remarks

Ta struktura znajduje się wewnątrz środowiska uruchomieniowego i nie jest uwidaczniona za pośrednictwem żadnych nagłówków ani plików biblioteki. Aby go użyć, zdefiniuj strukturę zgodnie z powyższymi definicjami.

Wymagania

Platformy: Zobacz Wymagania systemowe.
Nagłówek: Żaden
Biblioteka: Żaden
wersje platformy .NET: dostępne od wersji 4.7

Zobacz także