symboles
Un symbole est une unité nommée de données ou de code d’un fichier source qui apparaît dans un module. Les informations sur les symboles peuvent inclure le nom, le type (le cas échéant), l’adresse ou le registre où ils sont stockés, ainsi que les symboles parents ou enfants. Les exemples de symboles incluent des variables (locales et globales), des fonctions et tout point d’entrée dans un module.
Les informations sur les symboles sont utilisées par le moteur pour aider à interpréter les données et le code dans la cible. Avec ces informations, le moteur peut rechercher des symboles par nom ou emplacement en mémoire et fournir une description d’un symbole.
Le moteur obtient ses informations sur les symboles à partir de fichiers de symboles, qui se trouvent sur le système de fichiers local ou sont chargés à partir d’un serveur de symboles. Lors de l’utilisation d’un serveur de symboles, le moteur utilise automatiquement la version correcte du fichier de symboles pour correspondre au module dans la cible. Les fichiers de symboles peuvent être chargés chaque fois que le module correspondant est chargé, ou ils peuvent être chargés en fonction des besoins.
Note Souvent, l’optimisation des compilateurs n’inclut pas d’informations précises dans les fichiers de symboles. Cela peut entraîner une mauvaise interprétation par le moteur de la valeur de certaines variables, car l’emplacement ou la durée de vie de la variable peut être incorrectement décrit, ce qui amène le moteur à examiner la mauvaise partie de la mémoire ou à penser qu’une valeur de variable est active lorsqu’elle est morte (ou vice versa). Il est également possible pour un compilateur d’optimisation de modifier l’ordre d’exécution ou de fractionner une fonction en plusieurs parties. Les meilleurs résultats sont généralement obtenus lors du débogage de code non optimisé.
Informations supplémentaires
Pour plus d’informations sur l’utilisation de symboles, consultez Utilisation de symboles. Pour obtenir une vue d’ensemble de l’utilisation des fichiers de symboles et des serveurs de symboles, consultez Symboles dans la section Débogueurs de cette documentation.