Compartir a través de


ICorDebugSymbolProvider2::GetGenericDictionaryInfo (Método)

Recupera un mapa de diccionario genérico.

Syntax

HRESULT GetGenericDictionaryInfo(
   [out] ICorDebugMemoryBuffer** ppMemoryBuffer
);

Parámetros

ppMemoryBuffer
[out] Puntero a la dirección de un objeto ICorDebugMemoryBuffer que contiene el mapa de diccionario genérico. Consulte la sección Comentarios para obtener más información.

Observaciones

Nota:

Este método solo está disponible con .NET Native.

El mapa consta de dos secciones de nivel superior:

  • Directorio que contiene las direcciones virtuales relativas (RVA) de todos los diccionarios incluidos en este mapa.

  • Un montón alineado por bytes que contiene información de creación de instancias de objeto. Se inicia inmediatamente después de la última entrada de directorio.

Directorio

Cada entrada del directorio hace referencia a un desplazamiento dentro del montón; es decir, es un desplazamiento que es relativo al inicio del montón. El valor de las entradas individuales no es necesariamente único; es posible que varias entradas de directorio apunten al mismo desplazamiento en el montón.

La parte del directorio del mapa de diccionario genérico tiene la siguiente estructura:

  • Los primeros 4 bytes contienen el número de entradas de diccionario (es decir, el número de direcciones virtuales relativas del diccionario). Nos referiremos a este valor como N. Si se establece el bit alto, las entradas se ordenan por dirección virtual relativa en orden ascendente.

  • A continuación se cumplan las entradas del directorio N . Cada entrada consta de 8 bytes, en dos segmentos de 4 bytes:

    • Bytes 0-3: RVA; dirección virtual relativa del diccionario.

    • Bytes 4-7: Desplazamiento; desplazamiento relativo al inicio del montón.

Montón

El tamaño del montón se puede calcular mediante un lector de flujos restando la longitud de la secuencia del tamaño del directorio + 4. En otras palabras:

Heap Size = Stream.Length – (Directory Size + 4)

donde el tamaño del directorio es N * 8.

El formato de cada elemento de información de creación de instancias en el montón es:

  • Longitud de este elemento de información de creación de instancias en bytes en formato de metadatos ECMA comprimido. El valor excluye esta información de longitud.

  • Número de tipos de creación de instancias genéricos, o T, en formato de metadatos ECMA comprimidos.

  • Tipos T , cada uno representado en formato de firma de tipo ECMA.

La inclusión de la longitud de cada elemento del montón permite la ordenación simple de la sección de directorios sin afectar al montón.

Requisitos

Plataformas: Consulte Sistemas operativos compatibles con .NET.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET: Disponible desde .NET Framework 4.6

Consulte también