Méthode IDebugSymbols3 ::GetSourceEntriesByLine (dbgeng.h)
La méthode GetSourceEntriesByLine interroge les informations sur les symboles et retourne des emplacements dans la mémoire de la cible qui correspondent aux lignes d’un fichier source.
Syntaxe
HRESULT GetSourceEntriesByLine(
[in] ULONG Line,
[in] PCSTR File,
[in] ULONG Flags,
[out, writes, optional] PDEBUG_SYMBOL_SOURCE_ENTRY Entries,
[in] ULONG EntriesCount,
[out, optional] PULONG EntriesAvail
);
Paramètres
[in] Line
Spécifie la ligne dans le fichier source pour laquelle interroger. Le numéro de la première ligne est 1.
[in] File
Spécifie le fichier source. Les symboles de chaque module dans la cible sont interrogés pour ce fichier.
[in] Flags
Spécifie les indicateurs de bits qui contrôlent le comportement de cette méthode. Les indicateurs peuvent être n’importe quelle combinaison de valeurs du tableau suivant.
Valeur | Description |
---|---|
DEBUG_GSEL_NO_SYMBOL_LOADS |
Le moteur de débogueur recherche uniquement le fichier parmi les modules dont les symboles ont déjà été chargés. Les symboles des autres modules ne seront pas chargés.
Si cette option n’est pas définie, le moteur du débogueur charge les symboles de tous les modules jusqu’à ce qu’il trouve le fichier spécifié dans Fichier. |
DEBUG_GSEL_ALLOW_LOWER | Incluez toutes les lignes dans Fichier avant Ligne dans le résultat. |
DEBUG_GSEL_ALLOW_HIGHER | Incluez toutes les lignes dans Fichier après Ligne dans le résultat. |
DEBUG_GSEL_NEAREST_ONLY | Ne retourne qu’un seul résultat. Si DEBUG_GSEL_ALLOW_LOWER ou DEBUG_GSEL_ALLOW_HIGHER sont définis, le résultat retourné est pour une ligne proche de Ligne , mais ne peut pas être Ligne s’il n’existe aucune information de symbole pour cette ligne. |
Pour utiliser l’ensemble d’indicateurs par défaut, définissez Indicateurs sur DEBUG_GSEL_DEFAULT. Tous les indicateurs de la table précédente sont désactivés.
[out, writes, optional] Entries
Reçoit les emplacements dans la mémoire de la cible qui correspondent aux lignes sources interrogées. Chaque entrée de ce tableau est de type DEBUG_SYMBOL_SOURCE_ENTRY et contient le numéro de ligne source ainsi qu’un emplacement dans la mémoire de la cible.
[in] EntriesCount
Spécifie le nombre d’entrées dans le tableau Entrées .
[out, optional] EntriesAvail
Reçoit le nombre d’emplacements qui correspondent à la requête trouvée dans la mémoire de la cible.
Valeur retournée
Ces méthodes peuvent également retourner des 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 tableau Entrées n’était pas assez grand pour contenir tous les résultats correspondant à la requête et les résultats supplémentaires ont été ignorés. |
|
La requête n’a produit aucun résultat. Cela inclut le cas où les informations de symbole n’étaient pas disponibles pour le fichier spécifié. |
Remarques
Ces méthodes peuvent être utilisées par les applications de débogueur pour extraire des emplacements dans la mémoire de la cible afin de définir des points d’arrêt ou de mettre en correspondance le code source avec des instructions désassemblé. Par exemple, la définition des indicateurs DEBUG_GSEL_ALLOW_HIGHER et DEBUG_GSEL_NEAREST_ONLY renvoie l’emplacement de mémoire de la cible pour le premier morceau de code commençant à la ligne spécifiée.
Pour plus d’informations sur les fichiers sources, consultez Utilisation de fichiers sources.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |