Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee haalt u een algemene woordenlijsttoewijzing op.
Syntaxis
HRESULT GetGenericDictionaryInfo(
[out] ICorDebugMemoryBuffer** ppMemoryBuffer
);
Parameterwaarden
ppMemoryBuffer
[uit] Een aanwijzer naar het adres van een ICorDebugMemoryBuffer-object met de algemene woordenlijsttoewijzing. Zie de sectie Opmerkingen voor meer informatie.
Opmerkingen
Opmerking
Deze methode is alleen beschikbaar met .NET Native.
De kaart bestaat uit twee secties op het hoogste niveau:
Een map met de relatieve virtuele adressen (RVA) van alle woordenlijsten die in deze kaart zijn opgenomen.
Een byte-uitgelijnde heap die object instantiëringsgegevens bevat. Het begint direct na de laatste mapvermelding.
De map
Elke vermelding in de map verwijst naar een verschuiving binnen de heap; Dat wil gezegd, het is een verschuiving die relatief is ten opzichte van het begin van de heap. De waarde van afzonderlijke vermeldingen is niet noodzakelijkerwijs uniek; het is mogelijk dat meerdere mapvermeldingen verwijzen naar dezelfde offset in de heap.
Het mapgedeelte van de algemene woordenlijstkaart heeft de volgende structuur:
De eerste 4 bytes bevat het aantal woordenlijstvermeldingen (dat wil gezegd het aantal relatieve virtuele adressen in de woordenlijst). We verwijzen naar deze waarde als N. Als de hoge bit is ingesteld, worden de vermeldingen gesorteerd op relatief virtueel adres in oplopende volgorde.
De N-mapvermeldingen volgen. Elke vermelding bestaat uit 8 bytes, in twee 4 bytesegmenten:
Bytes 0-3: RVA; het relatieve virtuele adres van de woordenlijst.
Bytes 4-7: verschuiving; een verschuiving ten opzichte van het begin van de heap.
De heap
De grootte van de heap kan worden berekend door een streamlezer door de lengte van de stream af te trekken van de mapgrootte + 4. Met andere woorden:
Heap Size = Stream.Length – (Directory Size + 4)
waarbij de mapgrootte is N * 8.
De notatie voor elk exemplaargegevensitem in de heap is:
De lengte van dit exemplaargegevensitem in bytes in gecomprimeerde ECMA-metagegevensindeling. De waarde sluit deze lengtegegevens uit.
Het aantal algemene instantiëringstypen, of T, in gecomprimeerde ECMA-metagegevensindeling.
T-typen , die elk worden weergegeven in de handtekeningindeling van het ECMA-type.
Door de lengte voor elk heap-element op te nemen, kan de mapsectie eenvoudig worden gesorteerd zonder dat dit van invloed is op de heap.
Requirements
Platformen: Zie ondersteunde besturingssystemen van .NET.
Rubriek: CorDebug.idl, CorDebug.h
Bibliotheek: CorGuids.lib
.NET-versies: Beschikbaar sinds .NET Framework 4.6