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 segmen tumpukan pengumpulan sampah.
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
struct DacpHeapSegmentData
: ZeroInit<DacpHeapSegmentData>
{
CLRDATA_ADDRESS segmentAddr;
CLRDATA_ADDRESS allocated;
CLRDATA_ADDRESS committed;
CLRDATA_ADDRESS reserved;
CLRDATA_ADDRESS used;
CLRDATA_ADDRESS mem;
// pass this to request if non-null to get the next segments.
CLRDATA_ADDRESS next;
CLRDATA_ADDRESS gc_heap; // only filled in in server mode, otherwise NULL
// computed field: if this is the ephemeral segment highMark includes the ephemeral generation
CLRDATA_ADDRESS highAllocMark;
size_t flags;
CLRDATA_ADDRESS background_allocated;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr, const DacpGcHeapDetails& heap)
{
HRESULT hr = sos->GetHeapSegmentData(addr, this);
// if this is the start segment, set highAllocMark too.
if (SUCCEEDED(hr))
{
// TODO: This needs to be put on the Dac side.
if (this->segmentAddr == heap.generation_table[0].start_segment)
highAllocMark = heap.alloc_allocated;
else
highAllocMark = allocated;
}
return hr;
}
};
Members
| Anggota | Deskripsi |
|---|---|
segmentAddr |
Alamat segmen timbunan. |
allocated |
Alamat bagian segmen yang dialokasikan. |
committed |
Alamat hingga memori mana yang diterapkan untuk segmen . |
reserved |
Alamat hingga memori mana yang dicadangkan untuk segmen . |
used |
Alamat hingga memori mana yang digunakan untuk segmen . |
mem |
Alamat awal memori segmen. |
next |
Alamat segmen berikutnya. Teruskan nilai ini ke Request jika bukan null untuk mengambil segmen berikutnya. |
gc_heap |
Alamat tumpukan GC. Anggota ini hanya diisi dalam mode server; jika tidak, itu adalah NULL. |
highAllocMark |
Tanda alokasi tinggi. Jika segmen ini adalah segmen ephemeral, nilai ini termasuk generasi ephemeral. |
flags |
Bendera segmen timbunan. |
background_allocated |
Alamat yang dialokasikan GC latar belakang untuk segmen . |
Request |
Mengisi struktur dengan memanggil dan menghitung ISOSDacInterface::GetHeapSegmentDatahighAllocMark. |
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