Compartir a través de


Tipos

La información de tipo del archivo de símbolos de un módulo se identifica mediante dos fragmentos de información: un identificador de tipo y la dirección base del módulo al que pertenece el tipo. Los métodos siguientes se pueden usar para buscar un identificador de tipo:

  • GetTypeId devuelve el identificador de tipo de un nombre de tipo determinado.

  • GetSymbolTypeId devuelve el identificador de tipo del tipo de un símbolo con el nombre especificado.

  • GetOffsetTypeId devuelve el identificador de tipo del símbolo que se encuentra en la ubicación especificada.

GetTypeName y GetTypeSize devuelven el nombre y el tamaño de un tipo, respectivamente.

Los siguientes métodos útiles se pueden usar para leer y escribir datos tipados en la memoria física y virtual del objetivo:

ReadTypedDataPhysical

WriteTypedDataPhysical

ReadTypedDataVirtual

WriteTypedDataVirtual

Imprimir datos tipados

Para formatear los datos tipados y enviarlos a los callbacks de salida, use OutputTypedDataPhysical y OutputTypedDataVirtual para los datos en la memoria física y virtual del destino, respectivamente.

Las opciones de tipo descritas en DEBUG_TYPEOPTS_XXX afectan a cómo el motor da formato a los datos con tipo antes de enviarlos a los callbacks de salida.

Las opciones de tipo se pueden activar mediante AddTypeOptions y desactivarlas mediante RemoveTypeOptions.

GetTypeOptions devuelve las opciones de tipo actuales. Para establecer todas las opciones de tipo a la vez, use SetTypeOptions.

Interpretación de datos sin procesar mediante información de tipo

La API del motor de depurador admite la interpretación de datos tipificados. Esto proporciona una manera de recorrer las jerarquías de objetos en el objetivo, incluida la búsqueda de miembros de estructuras, desreferenciar punteros y localizar elementos de matriz.

Los datos con tipo se describen mediante instancias de la estructura DEBUG_TYPED_DATA y representan regiones de memoria en el objetivo convertidas a un tipo determinado. La operación de solicitud DEBUG_REQUEST_EXT_TYPED_DATA_ANSIRequest se usa para manipular estas instancias. Se pueden inicializar en el resultado de las expresiones o mediante la conversión de regiones de memoria a un tipo especificado. Para obtener una lista de todas las suboperaciones que la operación DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Request admite, consulte EXT_TDOP.

información adicional

Para obtener más información sobre los callbacks de salida, véase Entrada y salida.