Lexical Hierarchy of Symbol Types

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Lexical Hierarchy of Symbol Types.

The following table shows the symbol types in the lexical hierarchy.

Symbol typeDescription
AnnotationSpecifies an annotated location in program code.
BlockSpecifies nested scopes in functions.
CompilandSpecifies a compiland linked to the .exe file.
CompilandDetailsSpecifies compiland data that may require loading additional compiland details and thus incur run-time overhead to retrieve.
CompilandEnvSpecifies any additional environment variables significant to the compilation of the compiland.
Custom (Debug Interface Access SDK)Specifies a user-defined symbol.
Data (Debug Interface Access SDK)Specifies such variables as parameters, local variables, global variables, and class members.
ExeSpecifies the global scope of the data; corresponds to an entire .exe or .dll file.
FuncDebugEndSpecifies a function that has a defined point at which debugging is to end.
FuncDebugStartSpecifies a function that has a defined point at which debugging is to begin.
Function (Debug Interface Access SDK)Specifies a function.
Label (Debug Interface Access SDK)Specifies a location in program code.
PublicSymbolSpecifies an external symbol that appears when building the executable program.
ThunkSpecifies a thunk.
UsingNameSpaceSpecifies a namespaceidentifier.
System_CAPS_ICON_note.jpg Note

Additional symbol properties may be available depending on the symbol type. These properties are listed in the individual symbol topics.

Class Hierarchy of Symbol Types
IDiaSymbol::get_symTag
Symbols and Symbol Tags
SymTagEnum Enumeration

Show: