Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Definuje přenosovou vyrovnávací paměť pro informace o segmentu haldy uvolňování paměti.
Note
Toto rozhraní API bylo původně navrženo pro interní použití v modulu runtime. I když se teď podporuje pro použití třetí strany, doporučujeme pracovat s rozhraními ICorDebug API, ICorProfiler pokud je to možné.
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
| Člen | Description |
|---|---|
segmentAddr |
Adresa segmentu haldy. |
allocated |
Adresa přidělené části segmentu. |
committed |
Adresa, do které je paměť potvrzena pro segment. |
reserved |
Adresa, do které je paměť vyhrazena pro segment. |
used |
Adresa, do které se paměť používá pro segment. |
mem |
Počáteční adresa paměti segmentu. |
next |
Adresa dalšího segmentu. Tuto hodnotu předejte, pokud Request nemá hodnotu null k načtení dalšího segmentu. |
gc_heap |
Adresa haldy GC. Tento člen je vyplněn pouze v režimu serveru; jinak je NULLto . |
highAllocMark |
Vysoká značka přidělení. Pokud je tento segment dočasným segmentem, tato hodnota zahrnuje dočasné generování. |
flags |
Příznaky segmentu haldy. |
background_allocated |
Přidělená adresa uvolňování paměti na pozadí pro segment. |
Request |
Naplní strukturu voláním ISOSDacInterface::GetHeapSegmentData a výpočtem highAllocMark. |
Remarks
Tato struktura se nachází uvnitř modulu runtime a není vystavena prostřednictvím žádných hlaviček nebo souborů knihovny. Pokud ji chcete použít, definujte strukturu, jak je uvedeno výše.
Požadavky
Platformy: Viz požadavky na systém.
Záhlaví: Žádný
Knihovna: Žádný
.NET Framework verze: K dispozici od verze 4.7