structure SYMBOL_INFOW (dbghelp.h)
Contient des informations sur les symboles.
Syntaxe
typedef struct _SYMBOL_INFOW {
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;
WCHAR Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;
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 la SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
. La raison de soustraire un caractère 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 comme étant 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é par le biais d’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. 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 aux images. |
|
Le symbole est une fonction connue. |
|
L’adresse du symbole est un décalage par rapport au début du bloc de langage intermédiaire. Cela s’applique uniquement au code managé. |
|
Le symbole est une variable locale. |
|
Le symbole est des métadonnées géré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 thunk. |
|
Le symbole est un décalage dans la zone de données TLS. |
|
Le membre valeur |
|
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 la Kit de développement logiciel (SDK) d’accès à l’interface de débogage dans la documentation visual Studio. (Cette ressource peut ne pas être disponible dans certaines langues
et 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 inclure le caractère de fin null.
MaxNameLen
Taille de la mémoire tampon nom
Name[1]
Nom du symbole. Le nom peut être non décodé si l’option SYMOPT_UNDNAME est utilisée avec la fonction SymSetOptions.
Remarques
Note
L’en-tête dbghelp.h définit SYMBOL_INFO en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbghelp.h |
redistribuable | DbgHelp.dll 5.1 ou version ultérieure |