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 |
---|---|---|
DWORD |
Back-end build number of the compiler. |
|
DWORD |
Back-end major version number of the compiler. |
|
DWORD |
Back-end minor version number of the compiler. |
|
BSTR |
Name of the compiler that produced this compiland (only in DIA SDK V8.0 or later). |
|
BOOL |
TRUE if Edit and Continue were enabled at compilation. |
|
DWORD |
Front-end build number of the compiler. |
|
DWORD |
Front-end major version number of the compiler. |
|
DWORD |
Front-end minor version number of the compiler. |
|
BOOL |
TRUE if this compiland has debug information (only in DIA SDK V8.0 or later). |
|
BOOL |
TRUE if this compiland contains managed code (only in DIA SDK v8.0 or later). |
|
BOOL |
TRUE if the compiland was compiled with the /GS (Buffer Security Check) compiler switch (only in DIA SDK V8.0 or later). |
|
BOOL |
TRUE if compiland was converted from Common Intermediate Language (CIL) code to native code. |
|
BOOL |
TRUE if user-defined types (UDT) have been aligned to some specified memory boundary (only in DIA SDK V8.0 or later). |
|
BOOL |
TRUE if compiland was compiled with the /hotpatch (Create Hotpatchable Image) compiler switch (only in DIA SDK v8.0 or later). |
|
BOOL |
TRUE if compiland was compiled with the /LTCG (Link-time Code Generation) compiler switch (only in DIA SDK V8.0 or later). |
|
BOOL |
TRUE if compiland is a Microsoft Intermediate Language (MSIL) module (only in DIA SDK v8.0 or later). |
|
DWORD |
Source code language. |
|
IDiaSymbol* |
Symbol for the compiland. |
|
DWORD |
ID of the lexical parent symbol. |
|
DWORD |
Platform on which the compiland was compiled (one of the CV_CPU_TYPE_e values). |
|
DWORD |
Index ID of symbol. |
|
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.