Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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