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 |
---|---|
|
Le symbole est un jeton CLR. |
|
Le symbole est une constante. |
|
Le symbole provient de la table d’exportation. |
|
Le symbole est un redirecteur. |
|
Les décalages sont relatifs à l’image. |
|
Le symbole est une fonction connue. |
|
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é. |
|
Le symbole est une variable locale. |
|
Le symbole est des métadonnées managées. |
|
Le symbole est un paramètre. |
|
Le symbole est un registre. Le membre Register est utilisé. |
|
Les décalages sont relatifs au registre. |
|
Le symbole est un emplacement de code managé. |
|
Le symbole est un voyou. |
|
Le symbole est un décalage dans la zone de données TLS. |
|
Le membre Value est utilisé. |
|
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 |