Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Définit une mémoire tampon de transport pour les informations de segment de tas de garbage collection.
Note
Cette API a été conçue à l’origine pour une utilisation interne dans le runtime. Bien qu’elle soit désormais prise en charge pour une utilisation tierce, nous vous recommandons, autant que possible, d’utiliser les API ICorDebug et ICorProfiler.
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
| Membre | Description |
|---|---|
segmentAddr |
Adresse du segment de tas. |
allocated |
Adresse de la partie allouée du segment. |
committed |
Adresse jusqu’à laquelle la mémoire est validée pour le segment. |
reserved |
Adresse jusqu’à laquelle la mémoire est réservée pour le segment. |
used |
Adresse jusqu’à laquelle la mémoire est utilisée pour le segment. |
mem |
Adresse de début de la mémoire du segment. |
next |
Adresse du segment suivant. Transmettez cette valeur s’il Request n’est pas null pour récupérer le segment suivant. |
gc_heap |
Adresse du tas GC. Ce membre est renseigné uniquement en mode serveur ; sinon, c’est NULL. |
highAllocMark |
Marque d’allocation élevée. Si ce segment est le segment éphémère, cette valeur inclut la génération éphémère. |
flags |
Indicateurs de segment de tas. |
background_allocated |
Adresse gc allouée en arrière-plan pour le segment. |
Request |
Remplit la structure en appelant ISOSDacInterface::GetHeapSegmentData et en calculant highAllocMark. |
Remarks
Cette structure se trouve à l’intérieur du runtime et n’est pas exposée par le biais d’en-têtes ou de fichiers de bibliothèque. Pour l’utiliser, définissez la structure comme indiqué ci-dessus.
Exigences
Plateformes : Consultez Configuration requise.
En-tête: Aucun
Bibliothèque: Aucun
versions de .NET Framework : disponible depuis la version 4.7