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 information om skräpinsamlingens heapsegment.
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
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
| Medlem | Beskrivning |
|---|---|
segmentAddr |
Adressen till heapsegmentet. |
allocated |
Adressen till den allokerade delen av segmentet. |
committed |
Adressen till vilken minne har checkats in för segmentet. |
reserved |
Adressen som minnet är reserverat för segmentet till. |
used |
Adressen till vilken minne används för segmentet. |
mem |
Startadressen för segmentminnet. |
next |
Adressen till nästa segment. Skicka det här värdet till Request om det inte är null för att hämta nästa segment. |
gc_heap |
GC-heapens adress. Den här medlemmen fylls bara i i serverläge. annars är NULLdet . |
highAllocMark |
Det höga allokeringsmärket. Om det här segmentet är det tillfälliga segmentet inkluderar det här värdet den tillfälliga genereringen. |
flags |
Heapsegmentflaggor. |
background_allocated |
GC-allokerad bakgrundsadress för segmentet. |
Request |
Fyller i strukturen genom att anropa ISOSDacInterface::GetHeapSegmentData och beräkna .highAllocMark |
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