Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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