At Sentry, they've built a service called Symbolicator that processes native crash reports and minidumps for scale. Native code is challenging due to the lack of runtime information, making it harder to extract stack traces or other context. To address this, Sentry uses unwind information, which indicates the size and contents of function frame records, allowing debuggers to walk up the stack and extract values like instruction addresses. The team has incorporated unwind information handling into their symbolic library, built on top of open-source Rust libraries goblin and pdb. For platforms other than iOS, they use Google's Breakpad library to generate minidumps and process them on their servers. To speed up symbolication, Sentry created its own format called SymCache, which weighs an order of magnitude less than original debug files and is easily binary searchable by instruction address. Symbolicator can now be used as a symbol server proxy, serving debug files from configured sources like S3 or GCS, and is 100% open-source.