Типы
Сведения о типе из файла символов модуля идентифицируются двумя фрагментами информации: идентификатором типа и базовым адресом модуля, которому принадлежит тип. Для поиска идентификатора типа можно использовать следующие методы:
GetTypeId возвращает идентификатор типа для заданного имени типа.
GetSymbolTypeId возвращает идентификатор типа для типа символа с заданным именем.
GetOffsetTypeId возвращает идентификатор типа для символа, найденного в заданном расположении.
Имя и размер типа возвращаются getTypeName и GetTypeSize соответственно.
Для чтения и записи типизированных данных в физической и виртуальной памяти целевого объекта можно использовать следующие удобные методы:
Печать типизированных данных
Чтобы отформатировать типизированные данные и отправить их в обратные вызовы вывода, используйте 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.
Дополнительные сведения
Дополнительные сведения о обратных вызовах вывода см. в разделе Входные и выходные вызовы.