Поделиться через


SymTagEnum

Указывает тип символа.

Синтаксис

enum SymTagEnum {
    SymTagNull,
    SymTagExe,
    SymTagCompiland,
    SymTagCompilandDetails,
    SymTagCompilandEnv,
    SymTagFunction,
    SymTagBlock,
    SymTagData,
    SymTagAnnotation,
    SymTagLabel,
    SymTagPublicSymbol,
    SymTagUDT,
    SymTagEnum,
    SymTagFunctionType,
    SymTagPointerType,
    SymTagArrayType,
    SymTagBaseType,
    SymTagTypedef,
    SymTagBaseClass,
    SymTagFriend,
    SymTagFunctionArgType,
    SymTagFuncDebugStart,
    SymTagFuncDebugEnd,
    SymTagUsingNamespace,
    SymTagVTableShape,
    SymTagVTable,
    SymTagCustom,
    SymTagThunk,
    SymTagCustomType,
    SymTagManagedType,
    SymTagDimension,
    SymTagCallSite,
    SymTagInlineSite,
    SymTagBaseInterface,
    SymTagVectorType,
    SymTagMatrixType,
    SymTagHLSLType,
    SymTagCaller,
    SymTagCallee,
    SymTagExport,
    SymTagHeapAllocationSite,
    SymTagCoffGroup,
    SymTagInlinee,
    SymTagTaggedUnionCase,
};

Азы

Элемент Описание
SymTagNull Указывает, что символ не имеет типа.
SymTagExe Указывает, что символ является файлом .exe.
есть только один символ SymTagExe для каждого хранилища символов.
Он служит глобальной областью и не имеет лексического родительского элемента.
SymTagCompiland Указывает символ компилятора для каждого компонента компилятора хранилища символов.
Для собственных приложений символы SymTagCompiland соответствуют файлам объектов, связанным с изображением. Для некоторых видов образов microsoft Intermediate Language (MSIL) существует один компилятор для каждого класса.
SymTagCompilandDetails Указывает, что символ содержит расширенные атрибуты компилятора.
получение этих свойств может потребовать загрузки символов компилятора.
SymTagCompilandEnv Указывает, что символ является строкой среды, определенной для компилятора.
SymTagFunction Указывает, что символ является функцией.
SymTagBlock Указывает, что символ является вложенным блоком.
SymTagData Указывает, что символ — это данные.
SymTagAnnotation Указывает, что символ предназначен для заметки кода.
Дочерние элементы этого символа — это постоянные строки данных (SymTagData, LocIsConstantи DataIsConstant).
Большинство клиентов игнорируют этот символ.
SymTagLabel Указывает, что символ является меткой.
SymTagPublicSymbol Указывает, что символ является открытым символом. Для собственных приложений этот символ является внешним символом COFF при связывании изображения.
SymTagUDT Указывает, что символ — это определяемый пользователем тип (структура, класс или объединение).
SymTagEnum Указывает, что символ является перечислением.
SymTagFunctionType Указывает, что символ является типом подписи функции.
SymTagPointerType Указывает, что символ является типом указателя.
SymTagArrayType Указывает, что символ является типом массива.
SymTagBaseType Указывает, что символ является базовым типом.
SymTagTypedef Указывает, что символ является typedef псевдонимом другого типа.
SymTagBaseClass Указывает, что символ является базовым классом определяемого пользователем типа.
SymTagFriend Указывает, что символ является другом определяемого пользователем типа.
SymTagFunctionArgType Указывает, что символ является аргументом функции.
SymTagFuncDebugStart Указывает, что символ является конечным расположением пролога функции.
SymTagFuncDebugEnd Указывает, что символ является начальным расположением эпилога функции.
SymTagUsingNamespace Указывает, что символ является именем пространства имен, активным в текущей области.
SymTagVTableShape Указывает, что символ является описанием виртуальной таблицы.
SymTagVTable Указывает, что символ является указателем виртуальной таблицы.
SymTagCustom Указывает, что символ является пользовательским символом.
пакет SDK для доступа к интерфейсу отладки (DIA) Майкрософт не обеспечивает дальнейшее толкование этих символов.
SymTagThunk Указывает, что символ является thunk, используемым для совместного использования данных между 16-разрядным и 32-разрядным кодом.
SymTagCustomType Указывает, что символ является пользовательским символом компилятора.
SymTagManagedType Указывает, что символ находится в метаданных.
SymTagDimension Указывает, что символ является многомерным массивом FORTRAN.
SymTagCallSite Указывает, что символ представляет сайт вызова.
SymTagInlineSite Указывает, что символ представляет встроенный сайт.
SymTagBaseInterface Указывает, что символ является базовым интерфейсом.
SymTagVectorType Указывает, что символ является типом вектора.
SymTagMatrixType Указывает, что символ является типом матрицы.
SymTagHLSLType Указывает, что символ является типом языка шейдера высокого уровня.
SymTagCaller Указывает, что символ представляет сведения о вызывающем объекте оптимизации с помощью профилей (PGO).
SymTagCallee Указывает, что символ представляет сведения о вызываемом объекте PGO.
SymTagExport Указывает, что символ является экспортом из библиотеки DLL.
SymTagHeapAllocationSite Указывает, что символ представляет сайт выделения кучи (например, вызов operator new)
SymTagCoffGroup Указывает, что символ является группой COFF.
SymTagInlinee Указывает, что символ представляет встроенный сайт (см. SymTagInlineSite).
SymTagTaggedUnionCase Указывает, что символ является помеченным объединением (например, тип перечисления Rust)

Замечания

Все символы в файле отладки имеют тег идентификации, указывающий тип символа.

Метод IDiaSymbol::get_symTag возвращает значения из этого перечисления.

Значения в этом перечислении передаются следующим методам, чтобы ограничить область поиска определенным типом символов:

Требования

Заголовок: cvconst.h

См. также