Fonction SymGetSymFromAddr (dbghelp.h)
Localise le symbole de l’adresse spécifiée.
Syntaxe
BOOL IMAGEAPI SymGetSymFromAddr(
[in] HANDLE hProcess,
[in] DWORD dwAddr,
[out, optional] PDWORD pdwDisplacement,
[in, out] PIMAGEHLP_SYMBOL Symbol
);
Paramètres
[in] hProcess
Handle du processus qui a été passé à l’origine à la fonction SymInitialize .
[in] dwAddr
Adresse pour laquelle un symbole doit être localisé. L’adresse n’a pas besoin de se trouver sur une limite de symbole. Si l’adresse vient après le début d’un symbole et avant la fin du symbole (le début du symbole plus la taille du symbole), le symbole est trouvé.
[out, optional] pdwDisplacement
Déplacement à partir du début du symbole, ou zéro.
[in, out] Symbol
Pointeur vers une structure IMAGEHLP_SYMBOL64 .
Valeur retournée
Si la fonction réussit, la valeur de retour est TRUE.
Si la fonction échoue, la valeur de retour est FALSE. Pour récupérer des informations d’erreur étendues, appelez GetLastError.
Remarques
La fonction SymGetSymFromAddr64 localise le symbole d’une adresse spécifiée. Les modules sont recherchés pour celui auquel l’adresse appartient. Lorsque le module est trouvé, sa table de symboles est recherchée pour rechercher une correspondance. Lorsque le symbole est trouvé, les informations de symbole sont copiées dans la mémoire tampon de symbole fournie par l’appelant. L’appelant doit allouer correctement la mémoire tampon symbol et remplir les paramètres requis dans la structure IMAGEHLP_SYMBOL64 avant d’appeler SymGetSymFromAddr64.
Toutes les fonctions DbgHelp, telles que celle-ci, sont à thread unique. Par conséquent, les appels de plusieurs threads à cette fonction entraîneront probablement un comportement inattendu ou une altération de la mémoire. Pour éviter cela, vous devez synchroniser tous les appels simultanés de plusieurs threads vers cette fonction.
Cette fonction remplace la fonction SymGetSymFromAddr . Pour plus d’informations, consultez Mise à jour de la prise en charge de la plateforme. SymGetSymFromAddr est défini comme suit dans Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromAddr SymGetSymFromAddr64
#else
BOOL
IMAGEAPI
SymGetSymFromAddr(
__in HANDLE hProcess,
__in DWORD dwAddr,
__out_opt PDWORD pdwDisplacement,
__inout PIMAGEHLP_SYMBOL Symbol
);
#endif
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | dbghelp.h |
Bibliothèque | Dbghelp.lib |
DLL | Dbghelp.dll |
Composant redistribuable | DbgHelp.dll 5.1 ou version ultérieure |