Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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