Udostępnij za pośrednictwem


SymTagEnum

Określa typ symbolu.

Składnia

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,
};

Elementy

Element opis
SymTagNull Wskazuje, że symbol nie ma typu.
SymTagExe Wskazuje, że symbol jest plikiem .exe.
istnieje tylko jeden SymTagExe symbol na magazyn symboli.
Służy jako zakres globalny i nie ma elementu nadrzędnego leksykicznego.
SymTagCompiland Wskazuje symbol compiland dla każdego składnika compiland magazynu symboli.
W przypadku aplikacji SymTagCompiland natywnych symbole odpowiadają plikom obiektów połączonym z obrazem. W przypadku niektórych rodzajów obrazów języka Microsoft Intermediate Language (MSIL) istnieje jeden compiland na klasę.
SymTagCompilandDetails Wskazuje, że symbol zawiera rozszerzone atrybuty compiland.
Pobieranie tych właściwości może wymagać ładowania symboli współzadania.
SymTagCompilandEnv Wskazuje, że symbol jest ciągiem środowiskowym zdefiniowanym dla compiland.
SymTagFunction Wskazuje, że symbol jest funkcją.
SymTagBlock Wskazuje, że symbol jest zagnieżdżonym blokiem.
SymTagData Wskazuje, że symbol to dane.
SymTagAnnotation Wskazuje, że symbol dotyczy adnotacji kodu.
Elementy podrzędne tego symbolu to stałe ciągi danych (SymTagData, LocIsConstant, i DataIsConstant).
Większość klientów ignoruje ten symbol.
SymTagLabel Wskazuje, że symbol jest etykietą.
SymTagPublicSymbol Wskazuje, że symbol jest symbolem publicznym. W przypadku aplikacji natywnych ten symbol jest symbolem zewnętrznym COFF napotkanym podczas łączenia obrazu.
SymTagUDT Wskazuje, że symbol jest typem zdefiniowanym przez użytkownika (struktura, klasa lub unia).
SymTagEnum Wskazuje, że symbol jest wyliczeniem.
SymTagFunctionType Wskazuje, że symbol jest typem podpisu funkcji.
SymTagPointerType Wskazuje, że symbol jest typem wskaźnika.
SymTagArrayType Wskazuje, że symbol jest typem tablicy.
SymTagBaseType Wskazuje, że symbol jest typem podstawowym.
SymTagTypedef Wskazuje, że symbol jest typedef aliasem innego typu.
SymTagBaseClass Wskazuje, że symbol jest klasą bazową typu zdefiniowanego przez użytkownika.
SymTagFriend Wskazuje, że symbol jest przyjacielem typu zdefiniowanego przez użytkownika.
SymTagFunctionArgType Wskazuje, że symbol jest argumentem funkcji.
SymTagFuncDebugStart Wskazuje, że symbol jest lokalizacją końcową kodu prologu funkcji.
SymTagFuncDebugEnd Wskazuje, że symbol jest początkową lokalizacją kodu epilogu funkcji.
SymTagUsingNamespace Wskazuje, że symbol jest nazwą przestrzeni nazw aktywną w bieżącym zakresie.
SymTagVTableShape Wskazuje, że symbol jest opisem tabeli wirtualnej.
SymTagVTable Wskazuje, że symbol jest wskaźnikiem tabeli wirtualnej.
SymTagCustom Wskazuje, że symbol jest symbolem niestandardowym.
Zestaw MICROSOFT Debug Interface Access (DIA) SDK nie zapewnia dalszej interpretacji tych symboli.
SymTagThunk Wskazuje, że symbol jest thunk używany do udostępniania danych między 16-bitowym i 32-bitowym kodem.
SymTagCustomType Wskazuje, że symbol jest niestandardowym symbolem kompilatora.
SymTagManagedType Wskazuje, że symbol znajduje się w metadanych.
SymTagDimension Wskazuje, że symbol jest tablicą wielowymiarową FORTRAN.
SymTagCallSite Wskazuje, że symbol reprezentuje witrynę wywołania.
SymTagInlineSite Wskazuje, że symbol reprezentuje lokację śródliniową.
SymTagBaseInterface Wskazuje, że symbol jest interfejsem podstawowym.
SymTagVectorType Wskazuje, że symbol jest typem wektorowym.
SymTagMatrixType Wskazuje, że symbol jest typem macierzy.
SymTagHLSLType Wskazuje, że symbol jest typem języka cieniowania wysokiego poziomu.
SymTagCaller Wskazuje, że symbol reprezentuje informacje o funkcji optymalizacji sterowanej profilem (PGO).
SymTagCallee Wskazuje, że symbol reprezentuje informacje wywoływane przez PGO.
SymTagExport Wskazuje, że symbol jest eksportem z biblioteki DLL.
SymTagHeapAllocationSite Wskazuje, że symbol reprezentuje lokację alokacji sterty (na przykład wywołanie metody )operator new
SymTagCoffGroup Wskazuje, że symbol jest grupą COFF.
SymTagInlinee Wskazuje, że symbol reprezentuje wbudowany wiersz witryny wbudowanej (zobacz SymTagInlineSite).
SymTagTaggedUnionCase Wskazuje, że symbol jest związkiem oznakowanym (na przykład typem wyliczenia Rusta)

Uwagi

Wszystkie symbole w pliku debugowania mają tag identyfikujący, który określa typ symbolu.

Metoda IDiaSymbol::get_symTag zwraca wartości z tego wyliczenia.

Wartości w tym wyliczenie są przekazywane do następujących metod, aby ograniczyć zakres wyszukiwania do określonego typu symboli:

Wymagania

Nagłówek: cvconst.h

Zobacz też