CompilandDetails

Compiland information is split between symbols with a SymTagCompiland tag (low detail) and a SymTagCompilandDetails tag (high detail). SymTagCompilandDetails requires loading additional symbols. However, it provides a wealth of information about the compiland that is not available with a SymTagCompiland symbol.

Properties

The following table shows the properties that are valid for this symbol type.

Property

Data type

Description

IDiaSymbol::get_backEndBuild

DWORD

Back-end build number of the compiler.

IDiaSymbol::get_backEndMajor

DWORD

Back-end major version number of the compiler.

IDiaSymbol::get_backEndMinor

DWORD

Back-end minor version number of the compiler.

IDiaSymbol::get_compilerName

BSTR

Name of the compiler that produced this compiland (only in DIA SDK V8.0 or later).

IDiaSymbol::get_editAndContinueEnabled

BOOL

TRUE if Edit and Continue were enabled at compilation.

IDiaSymbol::get_frontEndBuild

DWORD

Front-end build number of the compiler.

IDiaSymbol::get_frontEndMajor

DWORD

Front-end major version number of the compiler.

IDiaSymbol::get_frontEndMinor

DWORD

Front-end minor version number of the compiler.

IDiaSymbol::get_hasDebugInfo

BOOL

TRUE if this compiland has debug information (only in DIA SDK V8.0 or later).

IDiaSymbol::get_hasManagedCode

BOOL

TRUE if this compiland contains managed code (only in DIA SDK v8.0 or later).

IDiaSymbol::get_hasSecurityChecks

BOOL

TRUE if the compiland was compiled with the /GS (Buffer Security Check) compiler switch (only in DIA SDK V8.0 or later).

IDiaSymbol::get_isCVTCIL

BOOL

TRUE if compiland was converted from Common Intermediate Language (CIL) code to native code.

IDiaSymbol::get_isDataAligned

BOOL

TRUE if user-defined types (UDT) have been aligned to some specified memory boundary (only in DIA SDK V8.0 or later).

IDiaSymbol::get_isHotpatchable

BOOL

TRUE if compiland was compiled with the /hotpatch (Create Hotpatchable Image) compiler switch (only in DIA SDK v8.0 or later).

IDiaSymbol::get_isLTCG

BOOL

TRUE if compiland was compiled with the /LTCG (Link-time Code Generation) compiler switch (only in DIA SDK V8.0 or later).

IDiaSymbol::get_isMSILNetmodule

BOOL

TRUE if compiland is a Microsoft Intermediate Language (MSIL) module (only in DIA SDK v8.0 or later).

IDiaSymbol::get_language

DWORD

Source code language.

IDiaSymbol::get_lexicalParent

IDiaSymbol*

Symbol for the compiland.

IDiaSymbol::get_lexicalParentId

DWORD

ID of the lexical parent symbol.

IDiaSymbol::get_platform

DWORD

Platform on which the compiland was compiled (one of the CV_CPU_TYPE_e values).

IDiaSymbol::get_symIndexId

DWORD

Index ID of symbol.

IDiaSymbol::get_symTag

DWORD

Returns SymTagCompilandDetails (one of the SymTagEnum values).

Remarks

Compilers often come in a form known as a two-pass compiler; in some compiler versions, each pass is handled by a separate program. These are known as front-end and back-end compilers, respectively, hence the symbol properties for back-end and front-end version numbers.

See Also

Reference

Compiland

Lexical Hierarchy of Symbol Types