Utilisation de fichiers sources

Le moteur de débogueur gère un chemin d’accès source, qui est une liste de répertoires et de serveurs sources qui contiennent des fichiers de code source associés aux cibles actuelles. Le moteur de débogueur peut rechercher les fichiers sources dans ces répertoires et serveurs sources. À l’aide de fichiers de symboles, le moteur de débogueur peut faire correspondre des lignes dans les fichiers sources avec des emplacements dans la mémoire de la cible.

Pour obtenir une vue d’ensemble de l’utilisation de fichiers sources avec des débogueurs, consultez Débogage en mode source. Pour obtenir une vue d’ensemble des chemins d’accès sources, consultez Chemin d’accès source. Pour obtenir une vue d’ensemble de l’utilisation des serveurs sources à partir du moteur de débogueur, consultez Utilisation d’un serveur source.

Chemin d’accès source

Pour ajouter un répertoire ou un serveur source au chemin d’accès source, utilisez la méthode AppendSourcePath. Le chemin d’accès source entier est retourné par GetSourcePath et peut être modifié à l’aide de SetSourcePath. Un répertoire ou un serveur source unique peut être récupéré à partir du chemin d’accès source à l’aide de GetSourcePathElement.

Pour rechercher un fichier source relatif au chemin d’accès source, utilisez FindSourceFile ou, pour des options plus avancées lors de l’utilisation de serveurs sources, utilisez FindSourceFileAndToken. FindSourceFileAndToken peut également être utilisé avec GetSourceFileInformation pour récupérer des variables liées à un fichier sur un serveur source.

Correspondance des fichiers sources au code en mémoire

Le moteur de débogueur fournit trois méthodes pour localiser les emplacements de mémoire qui correspondent aux lignes d’un fichier source. Pour mapper une seule ligne de code source à un emplacement mémoire, utilisez GetOffsetByLine. Pour rechercher des emplacements de mémoire pour plusieurs lignes sources ou des lignes sources à proximité, utilisez GetSourceEntriesByLine. La méthode GetSourceFileLineOffsets retourne l’emplacement de mémoire de chaque ligne d’un fichier source.

Pour effectuer l’opération inverse et rechercher la ligne d’un fichier source qui correspond à un emplacement dans la mémoire de la cible, utilisez GetLineByOffset.

Note La relation entre les emplacements de mémoire et les lignes d’un fichier source n’est pas nécessairement un-à-un. Il est possible qu’une seule ligne de code source corresponde à plusieurs emplacements de mémoire et qu’un seul emplacement de mémoire corresponde à plusieurs lignes de code source.