Lexical Hierarchy of Symbol Types

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

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

Symbol Types

Symbol type Description
Annotation Specifies an annotated location in program code.
Block Specifies nested scopes in functions.
Compiland Specifies a compiland linked to the .exe file.
CompilandDetails Specifies compiland data that may require loading additional compiland details and thus incur run-time overhead to retrieve.
CompilandEnv Specifies 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.
Exe Specifies the global scope of the data; corresponds to an entire .exe or .dll file.
FuncDebugEnd Specifies a function that has a defined point at which debugging is to end.
FuncDebugStart Specifies 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.
PublicSymbol Specifies an external symbol that appears when building the executable program.
Thunk Specifies a thunk.
UsingNameSpace Specifies a namespaceidentifier.

Note

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

See Also

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