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
S_OK
La méthode a réussi.
S_FALSE
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.
E_NOINTERFACE
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)

Voir aussi

DEBUG_SYMBOL_SOURCE_ENTRY

GetSourceFileLineOffsets

IDebugSymbols3