Типы

Сведения о типе из файла символов модуля идентифицируются двумя фрагментами информации: идентификатором типа и базовым адресом модуля, которому принадлежит тип. Для поиска идентификатора типа можно использовать следующие методы:

  • GetTypeId возвращает идентификатор типа для заданного имени типа.

  • GetSymbolTypeId возвращает идентификатор типа для типа символа с заданным именем.

  • GetOffsetTypeId возвращает идентификатор типа для символа, найденного в заданном расположении.

Имя и размер типа возвращаются getTypeName и GetTypeSize соответственно.

Для чтения и записи типизированных данных в физической и виртуальной памяти целевого объекта можно использовать следующие удобные методы:

ReadTypedDataPhysical

WriteTypedDataPhysical

ReadTypedDataVirtual

WriteTypedDataVirtual

Печать типизированных данных

Чтобы отформатировать типизированные данные и отправить их в обратные вызовы вывода, используйте OutputTypedDataPhysical и OutputTypedDataVirtual для данных в физической и виртуальной памяти целевого объекта соответственно.

Параметры типа, описанные в DEBUG_TYPEOPTS_XXX влияют на форматирование типизированных данных подсистемой перед их отправкой в обратные вызовы вывода.

Параметры типа можно включить с помощью функции AddTypeOptions и отключить с помощью функции RemoveTypeOptions.

GetTypeOptions возвращает текущие параметры типа. Чтобы задать все параметры типа одновременно, используйте SetTypeOptions.

Интерпретация необработанных данных с помощью сведений о типе

API обработчика отладчика поддерживает интерпретацию типизированных данных. Это позволяет выполнять обход иерархии объектов в целевом объекте, включая поиск членов структур, разыменовывание указателей и поиск элементов массива.

Типизированные данные описываются экземплярами структуры DEBUG_TYPED_DATA и представляют области памяти в целевом объекте, приведение к определенному типу. Операция запроса DEBUG_REQUEST_EXT_TYPED_DATA_ANSI используется для управления этими экземплярами. Их можно инициализировать в результате выражений или путем приведения областей памяти к указанному типу. Список всех вложенных операций, поддерживаемых операцией запроса DEBUG_REQUEST_EXT_TYPED_DATA_ANSI, см. в разделе EXT_TDOP.

Дополнительные сведения

Дополнительные сведения о обратных вызовах вывода см. в разделе Входные и выходные вызовы.