Debug Symbols
Learn about uploading debug symbols to enable symbolication of stack traces in your Dart applications.
Debug symbols are essential for understanding stack traces in your Dart application when errors occur. Without debug symbols, stack traces from minified or obfuscated code can be difficult or impossible to interpret.
Sentry currently doesn't support uploading debug symbols for pure Dart applications. Please see the Flutter debug symbols documentation for Flutter applications. This feature is being tracked in our GitHub Issue: sentry-dart/#1508.
Debug symbols provide the necessary information to convert program addresses back to function names, source file names, and line numbers. When you build a Dart application, especially with obfuscation or optimization enabled, this information is typically removed from the main application bundle to reduce size.
With default settings, complete stack traces are available in your Dart errors out of the box, unless you use split-debug-info
and obfuscate
flags. In these cases, you must upload the debug information files generated by the build, so Sentry can show proper stack traces.
Sentry offers several methods to upload debug symbols for Dart applications:
Sentry Dart Plugin (Recommended) - The easiest way to automatically upload debug symbols for iOS, Android, Desktop and Web.
- iOS and macOS - Upload dSYM files for symbolication of Apple platform crashes.
- Android - Upload mapping files manually using the Sentry CLI.
- Android NDK - Upload ELF DWARF debug files for native code crashes.
- Web - Upload source maps for Flutter web applications.
Choose the method that best suits your workflow and platform requirements. For most users, the Sentry Dart Plugin provides the simplest solution across all platforms.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").