Partager via


Fonction SymGetSymFromAddr (dbghelp.h)

Localise le symbole de l’adresse spécifiée.

Note Cette fonction est fournie uniquement à des fins de compatibilité. Les applications doivent utiliser SymFromAddr.
 

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

Voir aussi

Fonctions DbgHelp

IMAGEHLP_SYMBOL64

SymFromAddr

SymInitialize