Debugging symbols
Use debugging symbols to view stack traces in a human-readable format.
Read time 1 minuteLast updated 10 hours ago
Symbols map program addresses to function names. They allow issues to provide a native crash stack trace with human-readable function names, instead of numerical addresses. They can be contained within the executable itself, but are usually stored in a separate file to reduce executable size. Issues work with the following symbols:
- Operating system (OS) symbols: System symbols are generated by the OS supplier and come in different formats depending on OS. Apple platforms use dSYM folders, Android symbols are stored in .so files, and Windows symbols are stored in .pdb files. Unity supports symbols generated by Apple, Google, and Microsoft.
- Application (Unity) symbols: Application symbols are auto generated when you build your Unity project.
System symbols
Symbol files have a universally unique identifier (UUID) or globally unique identifier (GUID) that must exactly match the ID of the executable. Diagnostics generates the following errors if the service cannot load a symbol file with an ID that matches a library or module:- <system symbols missing>
- <symbols missing for uuid: xxx...>
Application symbols
When building a project on which diagnostic data is enabled, Unity generates a symbol file and uploads it to the Diagnostics servers. If this process fails, asymbols missing
symbol_upload.log