Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Definierar en transportbuffert för detaljerad information om skräpinsamlingshögen.
Note
Det här API:et utformades ursprungligen för intern användning i körningen. Även om det nu stöds för användning från tredje part rekommenderar vi att du arbetar med ICorDebug OCH ICorProfiler API:er när det är möjligt.
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
| Medlem | Beskrivning |
|---|---|
heapAddr |
GC-heapens adress. Den här medlemmen fylls bara i i serverläge. annars är NULLdet . |
alloc_allocated |
Den aktuella allokeringspekaren för heapen. |
mark_array |
Adressen till markmatrisen. |
current_c_gc_state |
Adressen för det aktuella komprimerande GC-tillståndet. |
next_sweep_obj |
Adressen till nästa objekt som ska sopas. |
saved_sweep_ephemeral_seg |
Adressen till det sparade tillfälliga segmentet för en svepning. |
saved_sweep_ephemeral_start |
Adressen till den sparade tillfälliga svepstarten. |
background_saved_lowest_address |
Den lägsta adressen som sparats för bakgrundstillståndet för GC. |
background_saved_highest_address |
Den högsta adressen som sparats för bakgrundstillståndet för GC. |
generation_table |
En matris med DacpGenerationData strukturerar med data för varje GC-generation. |
ephemeral_heap_segment |
Adressen för det tillfälliga heapsegmentet. |
finalization_fill_pointers |
En matris med fyllningspekare för slutförande. |
lowest_address |
Den lägsta adressen i högen. |
highest_address |
Den högsta adressen i heapen. |
card_table |
Adressen till GC-korttabellen. |
Request |
Fyller i strukturen genom att anropa ISOSDacInterface::GetGCHeapStaticData för arbetsstation GC eller ISOSDacInterface::GetGCHeapDetails för server GC. |
Remarks
Den här strukturen finns i körningen och exponeras inte via några rubriker eller biblioteksfiler. Om du vill använda den definierar du strukturen enligt ovan.
Requirements
Plattformar: Se Systemkrav.
Rubrik: Ingen
Bibliotek: Ingen
.NET Framework-versioner: Tillgänglig sedan 4.7