Compartilhar via


SymTagEnum

Especifica o tipo de símbolo.

Sintaxe

enum SymTagEnum {
    SymTagNull,
    SymTagExe,
    SymTagCompiland,
    SymTagCompilandDetails,
    SymTagCompilandEnv,
    SymTagFunction,
    SymTagBlock,
    SymTagData,
    SymTagAnnotation,
    SymTagLabel,
    SymTagPublicSymbol,
    SymTagUDT,
    SymTagEnum,
    SymTagFunctionType,
    SymTagPointerType,
    SymTagArrayType,
    SymTagBaseType,
    SymTagTypedef,
    SymTagBaseClass,
    SymTagFriend,
    SymTagFunctionArgType,
    SymTagFuncDebugStart,
    SymTagFuncDebugEnd,
    SymTagUsingNamespace,
    SymTagVTableShape,
    SymTagVTable,
    SymTagCustom,
    SymTagThunk,
    SymTagCustomType,
    SymTagManagedType,
    SymTagDimension,
    SymTagCallSite,
    SymTagInlineSite,
    SymTagBaseInterface,
    SymTagVectorType,
    SymTagMatrixType,
    SymTagHLSLType,
    SymTagCaller,
    SymTagCallee,
    SymTagExport,
    SymTagHeapAllocationSite,
    SymTagCoffGroup,
    SymTagInlinee,
    SymTagTaggedUnionCase,
};

Elementos

Elemento Descrição
SymTagNull Indica que o símbolo não tem tipo.
SymTagExe Indica que o símbolo é um arquivo .exe.
Há apenas um SymTagExe símbolo por repositório de símbolos.
Ele serve como escopo global e não tem um pai lexical.
SymTagCompiland Indica o símbolo compiland para cada componente compiland do repositório de símbolos.
Para aplicativos nativos, SymTagCompiland os símbolos correspondem aos arquivos de objeto vinculados à imagem. Para alguns tipos de imagens MSIL (Microsoft Intermediate Language), há um compilando por classe.
SymTagCompilandDetails Indica que o símbolo contém atributos estendidos do compiland.
A recuperação dessas propriedades pode exigir o carregamento de símbolos compiland.
SymTagCompilandEnv Indica que o símbolo é uma cadeia de caracteres de ambiente definida para o compiland.
SymTagFunction Indica que o símbolo é uma função.
SymTagBlock Indica que o símbolo é um bloco aninhado.
SymTagData Indica que o símbolo é dados.
SymTagAnnotation Indica que o símbolo é para uma anotação de código.
Os filhos deste símbolo são cadeias de dados constantes (SymTagData, LocIsConstante DataIsConstant).
A maioria dos clientes ignora este símbolo.
SymTagLabel Indica que o símbolo é um rótulo.
SymTagPublicSymbol Indica que o símbolo é um símbolo público. Para aplicativos nativos, esse símbolo é o símbolo externo COFF encontrado ao vincular a imagem.
SymTagUDT Indica que o símbolo é um tipo definido pelo usuário (estrutura, classe ou união).
SymTagEnum Indica que o símbolo é uma enumeração.
SymTagFunctionType Indica que o símbolo é um tipo de assinatura de função.
SymTagPointerType Indica que o símbolo é um tipo de ponteiro.
SymTagArrayType Indica que o símbolo é um tipo de matriz.
SymTagBaseType Indica que o símbolo é um tipo base.
SymTagTypedef Indica que o símbolo é um typedef alias para outro tipo.
SymTagBaseClass Indica que o símbolo é uma classe base de um tipo definido pelo usuário.
SymTagFriend Indica que o símbolo é amigo de um tipo definido pelo usuário.
SymTagFunctionArgType Indica que o símbolo é um argumento de função.
SymTagFuncDebugStart Indica que o símbolo é o local final do código do prólogo da função.
SymTagFuncDebugEnd Indica que o símbolo é o local inicial do código do epílogo da função.
SymTagUsingNamespace Indica que o símbolo é um nome de namespace ativo no escopo atual.
SymTagVTableShape Indica que o símbolo é uma descrição de tabela virtual.
SymTagVTable Indica que o símbolo é um ponteiro de tabela virtual.
SymTagCustom Indica que o símbolo é um símbolo personalizado.
O SDK do DIA (Acesso à Interface de Depuração) da Microsoft não fornece mais interpretação desses símbolos.
SymTagThunk Indica que o símbolo é uma conversão usada para compartilhar dados entre código de 16 bits e 32 bits.
SymTagCustomType Indica que o símbolo é um símbolo de compilador personalizado.
SymTagManagedType Indica que o símbolo está em metadados.
SymTagDimension Indica que o símbolo é uma matriz multidimensional FORTRAN.
SymTagCallSite Indica que o símbolo representa o site de chamada.
SymTagInlineSite Indica que o símbolo representa o site embutido.
SymTagBaseInterface Indica que o símbolo é uma interface base.
SymTagVectorType Indica que o símbolo é um tipo de vetor.
SymTagMatrixType Indica que o símbolo é um tipo de matriz.
SymTagHLSLType Indica que o símbolo é um tipo de Linguagem de Sombreador de Alto Nível.
SymTagCaller Indica que o símbolo representa as informações do chamador de otimização guiada por perfil (PGO).
SymTagCallee Indica que o símbolo representa as informações do receptor PGO.
SymTagExport Indica que o símbolo é uma exportação de uma DLL.
SymTagHeapAllocationSite Indica que o símbolo representa um site de alocação de heap (por exemplo, uma chamada para operator new)
SymTagCoffGroup Indica que o símbolo é um grupo COFF.
SymTagInlinee Indica que o símbolo representa o inlinee de um site embutido (consulte SymTagInlineSite).
SymTagTaggedUnionCase Indica que o símbolo é uma união marcada (por exemplo, o tipo de enumeração de Rust)

Comentários

Todos os símbolos em um arquivo de depuração têm uma marca de identificação que especifica o tipo do símbolo.

O IDiaSymbol::get_symTag método retorna valores dessa enumeração.

Os valores nessa enumeração são passados para os seguintes métodos para limitar o escopo da pesquisa a um tipo de símbolo específico:

Requisitos

Cabeçalho: cvconst.h

Confira também