Символы и теги символов
Сведения об отладке скомпилированной программы хранятся в файле базы данных программы (PDB) в виде символов, доступных с помощью API пакета SDK для доступа к интерфейсу отладки (DIA). Все символы имеют свойство IDiaSymbol::get_symTag и свойство IDiaSymbol::get_symIndexId . Свойство symTag
указывает тип символа, определенного перечислением SymTagEnum Enumeration . Это symIndexId
значение DWORD
, содержащее уникальный идентификатор для каждого экземпляра символа.
Символы также имеют свойства, которые могут указывать дополнительные сведения о символе, а также ссылки на другие символы, чаще всего iDiaSymbol::get_lexicalParent или IDiaSymbol::get_classParent. При запросе свойства, содержащего ссылку, ссылка возвращается в виде объекта IDiaSymbol . Такие свойства всегда связаны с другим свойством с тем же именем, но суффиксированы с идентификатором, например IDiaSymbol::get_lexicalParentId и IDiaSymbol::get_classParentId. Таблицы в расположениях символов, Лексическая иерархия типов символов и иерархия классов символов описывают свойства для каждого из различных типов символов. Эти свойства могут иметь соответствующие сведения о других символах или ссылки на них. *Id
Так как свойства являются просто числовыми порядковыми идентификаторами связанных свойств, они опущены из дальнейших обсуждений. Они ссылаются только в тех случаях, когда это необходимо для уточнения параметров.
При попытке получить доступ к свойству, если ошибка не возникает и свойство символа было присвоено значение, метод get свойства возвращается S_OK
. Возвращаемое значение S_FALSE
указывает, что свойство недопустимо для текущего символа.
В этом разделе
Описывает различные типы расположений, которые может иметь символ.
Лексическая иерархия символьных типов
Описывает типы символов, формирующие лексические иерархии, такие как файлы, модули и функции.
Иерархия классов символьных типов
Описывает типы символов, соответствующие различным языковым элементам, таким как классы, массивы и возвращаемые типы функций.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по