Что такое формат файла SYM?
Файл .sym содержит таблицу символов - сопоставление бинарных адресов памяти или смещений с человекочитаемыми идентификаторами, такими как имена функций, имена переменных, типы данных и номера строк исходного кода. Это расширение является универсальным и используется многими несвязанными инструментариями; фактическая бинарная или текстовая структура полностью зависит от среды, в которой он был создан.
Общие варианты включают файлы Windows CodeView 4 .sym (структурированный двоичный файл, магические байты 0x4E 0x52 / NR), которые предшествовали формату программной базы данных .PDB, представленному в Visual Studio 4.0 (1995); двоичную отладочную информацию Palm OS / CodeWarrior; определения символов схем gEDA/KiCad (простой текст UTF-8 с парами «атрибут-значение» и определениями выводов); экспорт символов ПЛК CODESYS (XML); и карты символов старых наборов инструментов DOS/Win16. Файл .sym из одного инструментария не может быть интерпретирован другим.
В контексте отладки файлы .sym позволяют отладчикам и инструментам анализа сбоев преобразовывать необработанные адреса в трассировке стека или дампе памяти в осмысленные ссылки на исходный код - процесс, называемый символикацией (symbolication). Без них посмертная отладка выдает только шестнадцатеричные адреса.
Современная разработка под Windows использует вместо них файлы .pdb; Linux и macOS встраивают разделы отладки DWARF в бинарные файлы ELF и Mach-O или используют пакеты .dSYM на платформах Apple. Расширение .sym сохраняется в основном в встраиваемых системах, устаревших инструментариях, проектировании печатных плат gEDA и приложениях EDA, где библиотеки символов схем естественным образом носят это имя.
Безопасность и защита
РИСК: LOWФайл символов отладки содержит только сопоставления имен/адресов и информацию о типах - в нем нет исполняемого кода. Его открытие не может повредить системе. Единственная проблема - раскрытие информации: файлы .sym для коммерческого ПО могут раскрывать внутренние имена функций/переменных, которые не предназначались для публичного распространения.
Детали формата
в двух словах- gEDA Schematic Symbol - Текстовый файл, определяющий символ электронного компонента для захвата схем gschem.
- SolidWorks Symbol Library - Бинарная библиотека символов чертежей/аннотаций, используемая в SolidWorks CAD.
- P-CAD / Altium EDA Symbol - Файл определения символа компонента, используемый в устаревших инструментах проектирования печатных плат P-CAD и Altium.
Программы, открывающие файлы SYM
Технические подробности
глубокая спецификация| Тип формата | Таблица символов (сопоставление адреса с идентификатором); точная структура зависит от инструментария |
| Кодировка | Бинарная или простой текст - зависит от исходного инструментария |
| Порядок байтов | Little-endian (для большинства бинарных вариантов); не применимо для текстовых и XML вариантов |
| Типичный размер файла | от 1 КБ до 50 МБ (большие бинарные файлы создают большие таблицы символов) |
| Бинарный вариант (Windows) | CodeView 4 - структурированные бинарные записи, магические байты 0x4E 0x52 («NR») |
| Текстовый вариант (EDA) | Символы схем gEDA/KiCad - пары «атрибут-значение» в UTF-8 с определениями выводов |
| Вариант XML | Экспорт символов ПЛК CODESYS - структурированный XML |
| Платформа | Windows, Linux, macOS, встраиваемые среды/RTOS |
| Заменен на (Windows) | .pdb (Program Database, Visual Studio 4.0, 1995) |
| Заменен на (Linux/macOS) | Разделы DWARF в бинарных файлах ELF/Mach-O; пакеты .dSYM на платформах Apple |
| Совместимость | Отсутствует - файлы .sym из разных инструментариев взаимно несовместимы |
| Выпущен | 1980s (varies by toolchain) |
Конвертации SYM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах SYM.