CompilandDetails
As informações de compiland são divididas entre símbolos com uma marca SymTagCompiland
(poucos detalhes) e uma marca SymTagCompilandDetails
(muitos detalhes). SymTagCompilandDetails
fornece uma grande quantidade de informações sobre o compiland que não estão disponíveis com um símbolo SymTagCompiland
.
Propriedades
A tabela a seguir mostra as propriedades válidas para esse tipo de símbolo.
Propriedade | Tipo de dados | Descrição |
---|---|---|
IDiaSymbol::get_backEndBuild | DWORD |
Número de build de back-end do compilador. |
IDiaSymbol::get_backEndMajor | DWORD |
Número de versão principal de back-end do compilador. |
IDiaSymbol::get_backEndMinor | DWORD |
Número de versão secundária de back-end do compilador. |
IDiaSymbol::get_compilerName | BSTR |
Nome do compilador que produziu esse compiland (somente no DIA SDK V8.0 ou posterior). |
IDiaSymbol::get_editAndContinueEnabled | BOOL |
TRUE se Editar e Continuar estavam habilitados na compilação. |
IDiaSymbol::get_frontEndBuild | DWORD |
Número de build de front-end do compilador. |
IDiaSymbol::get_frontEndMajor | DWORD |
Número de versão principal de front-end do compilador. |
IDiaSymbol::get_frontEndMinor | DWORD |
Número de versão secundária de front-end do compilador. |
IDiaSymbol::get_hasDebugInfo | BOOL |
TRUE se esse compiland tiver informações de depuração (somente no DIA SDK V8.0 ou posterior). |
IDiaSymbol::get_hasManagedCode | BOOL |
TRUE se esse compiland contiver código gerenciado (somente no DIA SDK v8.0 ou posterior). |
IDiaSymbol::get_hasSecurityChecks | BOOL |
TRUE se o compiland foi compilado com a opção do compilador /GS (Verificação de Segurança de Buffer) (somente no DIA SDK V8.0 ou posterior). |
IDiaSymbol::get_isCVTCIL | BOOL |
TRUE se o compiland foi convertido do código CIL (Common Intermediate Language) em código nativo. |
IDiaSymbol::get_isDataAligned | BOOL |
TRUE se UDTs (tipos definidos pelo usuário) tiverem sido alinhados a algum limite de memória especificado (somente no DIA SDK V8.0 ou posterior). |
IDiaSymbol::get_isHotpatchable | BOOL |
TRUE se o compiland foi compilado com a opção do compilador /hotpatch (Criar Imagem de Patch Dinâmico) (somente no DIA SDK v8.0 ou posterior). |
IDiaSymbol::get_isLTCG | BOOL |
TRUE se compiland foi compilado com a opção do compilador /LTCG (Geração de Código em Tempo de Vinculação) (somente no DIA SDK V8.0 ou posterior). |
IDiaSymbol::get_isMSILNetmodule | BOOL |
TRUE se compiland era um módulo MSIL (Microsoft Intermediate Language) (somente no DIA SDK v8.0 ou posterior). |
IDiaSymbol::get_language | DWORD |
Linguagem de código-fonte. |
IDiaSymbol::get_lexicalParent | IDiaSymbol* |
Símbolo do compiland. |
IDiaSymbol::get_lexicalParentId | DWORD |
ID do símbolo pai léxico. |
IDiaSymbol::get_platform | DWORD |
Plataforma na qual o compiland foi compilado (um dos valores de Enumeração CV_CPU_TYPE_e). |
IDiaSymbol::get_symIndexId | DWORD |
ID de índice do símbolo. |
IDiaSymbol::get_symTag | DWORD |
Retorna SymTagCompilandDetails (um dos valores de Enumeração SymTagEnum). |
Comentários
Os compiladores muitas vezes vêm em um formato conhecido como compilador de duas passagens; em algumas versões do compilador, cada passagem é tratada por um programa separado. Eles são conhecidos como compiladores de front-end e de back-end, respectivamente, daí as propriedades de símbolo para números de versão de back-end e de front-end.