Partager via


SymTagEnum

Spécifie le type du symbole.

Syntax

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,
};

Éléments

Élément Description
SymTagNull Indique que le symbole n’a aucun type.
SymTagExe Indique que le symbole est un fichier .exe.
il n’y a qu’un SymTagExe seul symbole par magasin de symboles.
Il sert d’étendue globale et n’a pas de parent lexical.
SymTagCompiland Indique le symbole de compilation pour chaque composant compileand du magasin de symboles.
Pour les applications natives, SymTagCompiland les symboles correspondent aux fichiers objet liés à l’image. Pour certains types d’images MSIL (Microsoft Intermediate Language), il existe une compilation par classe.
SymTagCompilandDetails Indique que le symbole contient des attributs étendus de la compilation.
La récupération de ces propriétés peut nécessiter le chargement de symboles de compilation et de compilation.
SymTagCompilandEnv Indique que le symbole est une chaîne d’environnement définie pour la compilation.
SymTagFunction Indique que le symbole est une fonction.
SymTagBlock Indique que le symbole est un bloc imbriqué.
SymTagData Indique que le symbole est des données.
SymTagAnnotation Indique que le symbole est destiné à une annotation de code.
Les enfants de ce symbole sont des chaînes de données constantes (SymTagData, LocIsConstantet DataIsConstant).
La plupart des clients ignorent ce symbole.
SymTagLabel Indique que le symbole est une étiquette.
SymTagPublicSymbol Indique que le symbole est un symbole public. Pour les applications natives, ce symbole est le symbole externe COFF utilisé lors de la liaison de l’image.
SymTagUDT Indique que le symbole est un type défini par l’utilisateur (structure, classe ou union).
SymTagEnum Indique que le symbole est une énumération.
SymTagFunctionType Indique que le symbole est un type de signature de fonction.
SymTagPointerType Indique que le symbole est un type de pointeur.
SymTagArrayType Indique que le symbole est un type de tableau.
SymTagBaseType Indique que le symbole est un type de base.
SymTagTypedef Indique que le symbole est un typedef alias pour un autre type.
SymTagBaseClass Indique que le symbole est une classe de base d’un type défini par l’utilisateur.
SymTagFriend Indique que le symbole est un ami d’un type défini par l’utilisateur.
SymTagFunctionArgType Indique que le symbole est un argument de fonction.
SymTagFuncDebugStart Indique que le symbole est l’emplacement de fin du code de prologue de la fonction.
SymTagFuncDebugEnd Indique que le symbole est l’emplacement de début du code épilogue de la fonction.
SymTagUsingNamespace Indique que le symbole est un nom d’espace de noms actif dans l’étendue actuelle.
SymTagVTableShape Indique que le symbole est une description de table virtuelle.
SymTagVTable Indique que le symbole est un pointeur de table virtuelle.
SymTagCustom Indique que le symbole est un symbole personnalisé.
Le KIT SDK Microsoft Debug Interface Access (DIA) ne fournit pas d’interprétation supplémentaire de ces symboles.
SymTagThunk Indique que le symbole est un thunk utilisé pour partager des données entre le code 16 bits et le code 32 bits.
SymTagCustomType Indique que le symbole est un symbole de compilateur personnalisé.
SymTagManagedType Indique que le symbole se trouve dans les métadonnées.
SymTagDimension Indique que le symbole est un tableau multidimensionnel FORTRAN.
SymTagCallSite Indique que le symbole représente le site d’appel.
SymTagInlineSite Indique que le symbole représente le site inline.
SymTagBaseInterface Indique que le symbole est une interface de base.
SymTagVectorType Indique que le symbole est un type de vecteur.
SymTagMatrixType Indique que le symbole est un type de matrice.
SymTagHLSLType Indique que le symbole est un type de langage de nuanceur de haut niveau.
SymTagCaller Indique que le symbole représente les informations d’appelant d’optimisation guidée par profil (PGO).
SymTagCallee Indique que le symbole représente les informations d’appel PGO.
SymTagExport Indique que le symbole est une exportation à partir d’une DLL.
SymTagHeapAllocationSite Indique que le symbole représente un site d’allocation de tas (par exemple, un appel à operator new)
SymTagCoffGroup Indique que le symbole est un groupe COFF.
SymTagInlinee Indique que le symbole représente l’inline d’un site inline (voir SymTagInlineSite).
SymTagTaggedUnionCase Indique que le symbole est une union étiquetée (par exemple, le type d’énumération de Rust)

Notes

Dans un fichier de débogage, tous les symboles ont une balise d’identification qui spécifie le type du symbole.

La IDiaSymbol::get_symTag méthode retourne des valeurs de cette énumération.

Les valeurs de cette énumération sont passées aux méthodes suivantes pour limiter l’étendue de la recherche à un type de symbole particulier :

Spécifications

En-tête : cvconst.h

Voir aussi