Co to jest format pliku SYM?
Plik .sym zawiera tablicę symboli - mapowanie binarnych adresów pamięci lub przesunięć na czytelne dla człowieka identyfikatory, takie jak nazwy funkcji, nazwy zmiennych, typy danych i numery linii kodu źródłowego. Rozszerzenie to jest ogólnym terminem używanym przez wiele niepowiązanych ze sobą zestawów narzędzi; rzeczywisty układ binarny lub tekstowy zależy całkowicie od środowiska, które go wygenerowało.
Typowe warianty obejmują pliki Windows CodeView 4 .sym (strukturalny plik binarny, magiczne bajty 0x4E 0x52 / NR), które poprzedzały format .PDB Program Database wprowadzony w Visual Studio 4.0 (1995); binarne informacje debugowania Palm OS / CodeWarrior; definicje symboli schematów gEDA/KiCad (zwykły tekst UTF-8 z parami atrybut-wartość i definicjami pinów); eksporty symboli CODESYS PLC (XML); oraz mapy symboli starszych narzędzi DOS/Win16. Plik .sym z jednego zestawu narzędzi nie jest interpretowalny przez inny.
W kontekście debugowania pliki .sym pozwalają debuggerom i narzędziom do analizy błędów na tłumaczenie surowych adresów w śladzie stosu (stack trace) lub zrzucie pamięci (core dump) na znaczące odniesienia do kodu źródłowego - proces ten nazywa się symbolizacją (symbolication). Bez nich debugowanie po awarii (post-mortem) daje jedynie adresy szesnastkowe.
Współczesne programowanie w systemie Windows wykorzystuje zamiast tego pliki .pdb; Linux i macOS osadzają sekcje debugowania DWARF w plikach binarnych ELF i Mach-O lub używają pakietów .dSYM na platformach Apple. Rozszerzenie .sym przetrwało głównie w systemach wbudowanych, starszych narzędziach, projektowaniu PCB w gEDA oraz aplikacjach EDA, gdzie biblioteki symboli schematów naturalnie noszą tę nazwę.
Bezpieczeństwo
RYZYKO: LOWPlik symboli debugowania zawiera jedynie mapowania nazw/adresów i informacje o typach - nie zawiera kodu wykonywalnego. Otwarcie go nie może zaszkodzić systemowi. Jedyną obawą jest ujawnienie informacji: pliki .sym dla komercyjnego oprogramowania mogą ujawniać wewnętrzne nazwy funkcji/zmiennych, które nie były przeznaczone do publicznej dystrybucji.
Szczegóły formatu
w pigułce- gEDA Schematic Symbol - Plik tekstowy definiujący symbol komponentu elektronicznego dla edytora schematów gschem.
- SolidWorks Symbol Library - Binarna biblioteka symboli rysunkowych/adnotacji używana w programie CAD SolidWorks.
- P-CAD / Altium EDA Symbol - Plik definicji symbolu komponentu używany w starszych narzędziach do projektowania PCB P-CAD i Altium.
Programy otwierające pliki SYM
Szczegóły techniczne
specyfikacja| Typ formatu | Tablica symboli (mapowanie adres-identyfikator); dokładny układ zależy od zestawu narzędzi |
| Kodowanie | Binarne lub zwykły tekst - zależy od zestawu narzędzi źródłowych |
| Kolejność bajtów | Little-endian (większość wariantów binarnych); nie dotyczy wariantów tekstowych i XML |
| Typowy rozmiar pliku | 1 KB - 50 MB (duże pliki binarne generują duże tablice symboli) |
| Wariant binarny (Windows) | CodeView 4 - strukturalne rekordy binarne, magiczne bajty 0x4E 0x52 („NR”) |
| Wariant tekstowy (EDA) | Symbole schematów gEDA/KiCad - pary atrybut-wartość UTF-8 z definicjami pinów |
| Wariant XML | Eksport symboli CODESYS PLC - strukturalny XML |
| Platforma | Windows, Linux, macOS, środowiska wbudowane/RTOS |
| Zastąpiony przez (Windows) | .pdb (Program Database, Visual Studio 4.0, 1995) |
| Zastąpiony przez (Linux/macOS) | Sekcje DWARF w plikach binarnych ELF/Mach-O; pakiety .dSYM na platformach Apple |
| Interoperacyjność | Brak - pliki .sym z różnych zestawów narzędzi są wzajemnie niekompatybilne |
| Wydano | 1980s (varies by toolchain) |
Konwersje SYM
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki SYM.