Qu'est-ce que le format de fichier SYM ?
Un fichier .sym contient une table de symboles - une correspondance entre les adresses mémoire binaires (ou offsets) et des identifiants lisibles par l'homme tels que les noms de fonctions, les noms de variables, les types de données et les numéros de ligne du code source. L'extension est un terme générique utilisé par de nombreuses chaînes d'outils non liées ; la structure binaire ou textuelle réelle dépend entièrement de l'environnement qui l'a produit.
Les variantes courantes incluent les fichiers Windows CodeView 4 .sym (binaire structuré, octets magiques 0x4E 0x52 / NR), qui précèdent le format de base de données de programme .PDB introduit dans Visual Studio 4.0 (1995) ; les informations de débogage binaire Palm OS / CodeWarrior ; les définitions de symboles schématiques gEDA/KiCad (texte UTF-8 brut avec paires attribut-valeur et définitions de broches) ; les exports de symboles PLC CODESYS (XML) ; et les anciennes cartes de symboles des chaînes d'outils DOS/Win16. Un fichier .sym d'une chaîne d'outils n'est pas interprétable par une autre.
Dans le contexte du débogage, les fichiers .sym permettent aux débogueurs et aux outils d'analyse de plantage de traduire les adresses brutes d'une trace de pile ou d'un cliché de mémoire en références de code source significatives - un processus appelé « symbolication ». Sans eux, le débogage post-mortem ne donne que des adresses hexadécimales.
Le développement Windows moderne utilise plutôt des fichiers .pdb ; Linux et macOS intègrent des sections de débogage DWARF dans les binaires ELF et Mach-O ou utilisent des bundles .dSYM sur les plateformes Apple. L'extension .sym survit principalement dans les systèmes embarqués, les chaînes d'outils héritées, la conception de PCB gEDA et les applications EDA où les bibliothèques de symboles schématiques portent naturellement ce nom.
Sécurité et sûreté
RISQUE : LOWUn fichier de symboles de débogage ne contient que des mappages nom/adresse et des informations de type - aucun code exécutable. En ouvrir un ne peut pas endommager le système. La seule préoccupation est la divulgation d'informations : les fichiers .sym pour les logiciels commerciaux peuvent révéler des noms de fonctions/variables internes qui n'étaient pas destinés à une distribution publique.
Détails du format
en bref- Symbole schématique gEDA - Fichier texte brut définissant un symbole de composant électronique pour la saisie de schéma gschem.
- Bibliothèque de symboles SolidWorks - Bibliothèque binaire de symboles de dessin/annotation utilisée dans le logiciel CAD SolidWorks.
- Symbole EDA P-CAD / Altium - Fichier de définition de symbole de composant utilisé dans les anciens outils de conception de PCB P-CAD et Altium.
Programmes qui ouvrent les fichiers SYM
Détails techniques
spécifications approfondies| Type de format | Table de symboles (mappage adresse-identifiant) ; la structure exacte dépend de la chaîne d'outils |
| Encodage | Binaire ou texte brut - dépend de la chaîne d'outils d'origine |
| Ordre des octets | Little-endian (pour la plupart des variantes binaires) ; N/A pour les variantes texte et XML |
| Taille typique du fichier | 1 Ko - 50 Mo (les gros binaires produisent de grandes tables de symboles) |
| Variante binaire (Windows) | CodeView 4 - enregistrements binaires structurés, octets magiques 0x4E 0x52 (« NR ») |
| Variante texte (EDA) | Symboles schématiques gEDA/KiCad - paires attribut-valeur UTF-8 avec définitions de broches |
| Variante XML | Export de symboles PLC CODESYS - XML structuré |
| Plateforme | Windows, Linux, macOS, environnements embarqués/RTOS |
| Remplacé par (Windows) | .pdb (Program Database, Visual Studio 4.0, 1995) |
| Remplacé par (Linux/macOS) | Sections DWARF dans les binaires ELF/Mach-O ; bundles .dSYM sur les plateformes Apple |
| Interopérabilité | Aucune - les fichiers .sym de différentes chaînes d'outils sont mutuellement incompatibles |
| Publié | 1980s (varies by toolchain) |
Conversions SYM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers SYM.