Partager via


Symboles et fichiers de symboles

Lorsque les applications, bibliothèques, pilotes ou systèmes d’exploitation sont liés, l’éditeur de liens qui crée les fichiers .exe et .dll crée également un certain nombre de fichiers supplémentaires appelés fichiers de symboles.

Les fichiers de symboles contiennent une variété de données qui ne sont pas réellement nécessaires lors de l’exécution des fichiers binaires, mais qui peuvent être très utiles dans le processus de débogage.

En règle générale, les fichiers de symboles peuvent contenir :

  • Variables globales

  • Variables locales

  • Noms de fonction et adresses de leurs points d’entrée

  • Enregistrements d’omission de pointeur de trame (FPO)

  • Numéros de ligne source

Chacun de ces éléments est appelé, individuellement, un symbole. Par exemple, un fichier de symboles unique Myprogram.pdb peut contenir plusieurs centaines de symboles, y compris les variables globales et les noms de fonction et des centaines de variables locales. Souvent, les entreprises de logiciels publient deux versions de chaque fichier de symboles : un fichier de symboles complets contenant à la fois des symboles publics et des symboles privés, et un fichier réduit (supprimé) contenant uniquement des symboles publics. Pour plus d’informations, consultez Symboles publics et privés.

Lors du débogage, vous devez vous assurer que le débogueur peut accéder aux fichiers de symboles associés à la cible que vous déboguez. Le débogage en direct et le débogage des fichiers de vidage mémoire nécessitent des symboles. Vous devez obtenir les symboles appropriés pour le code que vous souhaitez déboguer et charger ces symboles dans le débogueur.

Symboles Windows

Windows conserve ses symboles dans les fichiers avec l’extension .pdb.

Le compilateur et l’éditeur de liens contrôlent le format de symbole. L’éditeur de liens Visual C++ place tous les symboles dans les fichiers .pdb.

Le système d’exploitation Windows a été créé dans deux versions. La build gratuite (ou build de vente au détail) a des fichiers binaires relativement petits, et la build vérifiée (ou la build de débogage) a des fichiers binaires plus volumineux, avec plus de symboles de débogage dans le code lui-même. Les builds vérifiées étaient disponibles sur les versions antérieures de Windows avant Windows 10, version 1803. Chacune de ces builds avait ses propres fichiers de symboles. Lors du débogage d’une cible sur Windows, vous devez utiliser les fichiers de symboles qui correspondent à la build de Windows sur la cible.

Le tableau suivant répertorie plusieurs répertoires qui existent dans une arborescence de symboles Windows standard :

Répertoire Contient des fichiers de symboles pour

ACM

Fichiers Microsoft Audio Compression Manager

COM

Fichiers exécutables (.com)

CPL

Programmes du Panneau de configuration

DLL

Fichiers de bibliothèque de liens dynamiques (.dll)

DRV

Fichiers de pilotes (.drv)

EXE

Fichiers exécutables (.exe)

SCR

Fichiers économiseur d'écran

SYS

Fichiers de pilotes (.sys)