Méthode IDebugSymbols3 ::GetOffsetByName (dbgeng.h)
La méthode GetOffsetByName retourne l’emplacement d’un symbole identifié par son nom.
Syntaxe
HRESULT GetOffsetByName(
[in] PCSTR Symbol,
[out] PULONG64 Offset
);
Paramètres
[in] Symbol
Spécifie le nom du symbole à localiser. Le nom peut être qualifié par un nom de module (par exemple, mymodule !main).
[out] Offset
Reçoit l’emplacement dans l’espace d’adressage mémoire de la cible de la base de l’allocation de mémoire du symbole.
Valeur retournée
Cette méthode peut également retourner d’autres valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour.
Code de retour | Description |
---|---|
|
La méthode a réussi. |
|
La méthode a réussi. Toutefois, le nom Symbole n’était pas unique et plusieurs symboles portant ce nom ont été trouvés. L’un de ces symboles a été arbitrairement choisi et retourné. |
|
Aucun symbole portant le nom spécifié n’a pu être trouvé. |
Remarques
Si le nom Symbol n’est pas unique et que GetOffsetByName recherche plusieurs symboles portant ce nom, l’ambiguïté est résolue arbitrairement. Dans ce cas, la valeur S_FALSE sera retournée. StartSymbolMatch peut être utilisé pour lancer une recherche afin de déterminer quel est le résultat souhaité.
GetNameByOffset ne prend pas en charge la correspondance de modèle (par exemple, les caractères génériques). Pour rechercher un symbole à l’aide de la correspondance de modèle , utilisez StartSymbolMatch.
Si le nom du module pour le symbole est connu, il est préférable de qualifier le nom du symbole par le nom du module. Sinon, le moteur recherche tous les modules dans les symboles jusqu’à ce qu’il trouve une correspondance ; cela peut prendre beaucoup de temps s’il doit charger les fichiers de symboles pour un grand nombre de modules. Si le nom du symbole est qualifié avec un nom de module, le moteur recherche uniquement les symboles de ce module.
Pour plus d’informations sur les symboles et les noms de symboles, consultez Symboles.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |