Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendefinisikan buffer transportasi untuk informasi tumpukan pengumpulan sampah terperinci.
Note
API ini awalnya dirancang untuk penggunaan internal dalam runtime. Meskipun sekarang didukung untuk penggunaan pihak ketiga, sebaiknya menggunakan API ICorDebug dan ICorProfiler jika memungkinkan.
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
| Anggota | Deskripsi |
|---|---|
heapAddr |
Alamat tumpukan GC. Anggota ini hanya diisi dalam mode server; jika tidak, itu adalah NULL. |
alloc_allocated |
Penunjuk alokasi saat ini untuk timbunan. |
mark_array |
Alamat array tanda. |
current_c_gc_state |
Alamat status GC yang memampatkan saat ini. |
next_sweep_obj |
Alamat objek berikutnya untuk disapu. |
saved_sweep_ephemeral_seg |
Alamat segmen ephemeral yang disimpan untuk pembersihan. |
saved_sweep_ephemeral_start |
Alamat mulai sapuan ephemeral yang disimpan. |
background_saved_lowest_address |
Alamat terendah yang disimpan untuk status GC latar belakang. |
background_saved_highest_address |
Alamat tertinggi disimpan untuk status GC latar belakang. |
generation_table |
Array struktur DacpGenerationData dengan data untuk setiap generasi GC. |
ephemeral_heap_segment |
Alamat segmen timbunan ephemeral. |
finalization_fill_pointers |
Array penunjuk pengisian finalisasi. |
lowest_address |
Alamat terendah dalam timbunan. |
highest_address |
Alamat tertinggi di tumpuk. |
card_table |
Alamat tabel kartu GC. |
Request |
Mengisi struktur dengan memanggil ISOSDacInterface::GetGCHeapStaticData workstation GC atau ISOSDacInterface::GetGCHeapDetails untuk server GC. |
Remarks
Struktur ini berada di dalam runtime dan tidak diekspos melalui header atau file pustaka apa pun. Untuk menggunakannya, tentukan struktur seperti yang ditentukan di atas.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: Tidak
Perpustakaan: Tidak
.NET Framework Versions: Tersedia sejak 4.7