structure SYMBOL_INFO (dbghelp.h)

Contient des informations sur le symbole.

Syntaxe

typedef struct _SYMBOL_INFO {
  ULONG   SizeOfStruct;
  ULONG   TypeIndex;
  ULONG64 Reserved[2];
  ULONG   Index;
  ULONG   Size;
  ULONG64 ModBase;
  ULONG   Flags;
  ULONG64 Value;
  ULONG64 Address;
  ULONG   Register;
  ULONG   Scope;
  ULONG   Tag;
  ULONG   NameLen;
  ULONG   MaxNameLen;
  CHAR    Name[1];
} SYMBOL_INFO, *PSYMBOL_INFO;

Membres

SizeOfStruct

Taille de la structure, en octets. Ce membre doit être défini sur sizeof(SYMBOL_INFO). Notez que la taille totale des données est .SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR) La raison de soustraire un est que le premier caractère du nom est pris en compte dans la taille de la structure.

TypeIndex

Valeur unique qui identifie les données de type qui décrivent le symbole. Cette valeur ne persiste pas entre les sessions.

Reserved[2]

Ce membre est réservé à l’utilisation du système.

Index

Valeur unique du symbole. La valeur associée à un symbole n’est pas garantie pour être la même chaque fois que vous exécutez le processus.

Pour les symboles PDB, la valeur d’index d’un symbole n’est pas générée tant que le symbole n’est pas énuméré ou récupéré via une recherche par nom ou adresse. Les valeurs d’index de tous les symboles CodeView et COFF sont générées lorsque les symboles sont chargés.

Size

Taille du symbole, en octets (ou bits, si le symbole est un membre de champ de bits).

Cette valeur n’est significative que si les symboles de module proviennent d’un fichier pdb ; sinon, cette valeur est généralement zéro et doit être ignorée.

ModBase

Adresse de base du module qui contient le symbole.

Flags

Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
SYMFLAG_CLR_TOKEN
0x00040000
Le symbole est un jeton CLR.
SYMFLAG_CONSTANT
0x00000100
Le symbole est une constante.
SYMFLAG_EXPORT
0x00000200
Le symbole provient de la table d’exportation.
SYMFLAG_FORWARDER
0x00000400
Le symbole est un redirecteur.
SYMFLAG_FRAMEREL
0x00000020
Les décalages sont relatifs à l’image.
SYMFLAG_FUNCTION
0x00000800
Le symbole est une fonction connue.
SYMFLAG_ILREL
0x00010000
L’adresse du symbole est un décalage par rapport au début du bloc de langue intermédiaire. Cela s’applique uniquement au code managé.
SYMFLAG_LOCAL
0x00000080
Le symbole est une variable locale.
SYMFLAG_METADATA
0x00020000
Le symbole est des métadonnées managées.
SYMFLAG_PARAMETER
0x00000040
Le symbole est un paramètre.
SYMFLAG_REGISTER
0x00000008
Le symbole est un registre. Le membre Register est utilisé.
SYMFLAG_REGREL
0x00000010
Les décalages sont relatifs au registre.
SYMFLAG_SLOT
0x00008000
Le symbole est un emplacement de code managé.
SYMFLAG_THUNK
0x00002000
Le symbole est un voyou.
SYMFLAG_TLSREL
0x00004000
Le symbole est un décalage dans la zone de données TLS.
SYMFLAG_VALUEPRESENT
0x00000001
Le membre Value est utilisé.
SYMFLAG_VIRTUAL
0x00001000
Le symbole est un symbole virtuel créé par la fonction SymAddSymbol .

Value

Valeur d’une constante.

Address

Adresse virtuelle du début du symbole.

Register

Registre.

Scope

Étendue DIA. Pour plus d’informations, consultez le Kit de développement logiciel (SDK) d’accès à l’interface de débogage dans la documentation Visual Studio. (Cette ressource n’est peut-être pas disponible dans certaines langues

et les pays.)

Tag

Classification PDB. Ces valeurs sont définies dans Dbghelp.h dans le type d’énumération SymTagEnum .

NameLen

Longueur du nom, en caractères, sans le caractère de fin null.

MaxNameLen

Taille de la mémoire tampon De noms , en caractères. Si ce membre est 0, le membre Name n’est pas utilisé.

Name[1]

Nom du symbole. Le nom peut être décodé si l’option SYMOPT_UNDNAME est utilisée avec la fonction SymSetOptions .

Configuration requise

Condition requise Valeur
En-tête dbghelp.h
Composant redistribuable DbgHelp.dll 5.1 ou version ultérieure

Voir aussi

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName