Fonction SymGetLineFromName (dbghelp.h)
Recherche une ligne source pour le module, le nom de fichier et le numéro de ligne spécifiés.
Syntaxe
BOOL IMAGEAPI SymGetLineFromName(
[in] HANDLE hProcess,
[in, optional] PCSTR ModuleName,
[in, optional] PCSTR FileName,
[in] DWORD dwLineNumber,
[out] PLONG plDisplacement,
[in, out] PIMAGEHLP_LINE Line
);
Paramètres
[in] hProcess
Handle du processus qui a été passé à l’origine à la fonction SymInitialize .
[in, optional] ModuleName
Nom du module dans lequel se trouve une ligne.
[in, optional] FileName
Nom du fichier dans lequel se trouve une ligne. Si l’application a plusieurs fichiers sources portant ce nom, veillez à spécifier un chemin d’accès complet.
[in] dwLineNumber
Numéro de ligne à trouver.
[out] plDisplacement
Déplacement en octets à partir du début de la ligne, ou zéro.
[in, out] Line
Pointeur vers une structure IMAGEHLP_LINE64 .
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.
Notes
L’appelant doit allouer correctement la mémoire tampon de ligne et renseigner les membres requis de la structure IMAGEHLP_LINE64 avant d’appeler SymGetLineFromName64.
Avant d’appeler cette fonction, vérifiez que les symboles sont correctement initialisés en appelant d’abord SymInitialize, SymSetOptions et SymLoadModule64.
Cette fonction retourne un pointeur vers une mémoire tampon qui peut être réutilisée par une autre fonction. Par conséquent, veillez à copier immédiatement les données retournées dans une autre mémoire tampon.
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.
Pour appeler la version Unicode de cette fonction, définissez DBGHELP_TRANSLATE_TCHAR. SymGetLineFromNameW64 est défini comme suit dans Dbghelp.h.
BOOL
IMAGEAPI
SymGetLineFromNameW64(
__in HANDLE hProcess,
__in_opt PCWSTR ModuleName,
__in_opt PCWSTR FileName,
__in DWORD dwLineNumber,
__out PLONG plDisplacement,
__inout PIMAGEHLP_LINEW64 Line
);
#ifdef DBGHELP_TRANSLATE_TCHAR
#define SymGetLineFromName64 SymGetLineFromNameW64
#endif
Cette fonction remplace la fonction SymGetLineFromName . Pour plus d’informations, consultez Mise à jour de la prise en charge de la plateforme. SymGetLineFromName est défini comme suit dans Dbghelp.h.
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetLineFromName SymGetLineFromName64
#else
BOOL
IMAGEAPI
SymGetLineFromName(
__in HANDLE hProcess,
__in_opt PCSTR ModuleName,
__in_opt PCSTR FileName,
__in DWORD dwLineNumber,
__out PLONG plDisplacement,
__inout PIMAGEHLP_LINE Line
);
#endif
Exemples
Pour obtenir un exemple, consultez Récupération des informations sur les symboles par nom.
Spécifications
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 |