Debug Symbols

Debug symbols provide information that Sentry displays on the Issue Details page to help you triage an issue. We offer a range of methods to provide Sentry with debug symbols.

When to Upload

With default settings, complete stack traces are available in your Dart error, out of the box, unless you use split-debug-info and obfuscate. In those cases, you need to upload the debug information files generated by the flutter build, so Sentry can show you proper stack traces.

Errors raised from the native layer in Flutter apps require certain debug information files to be uploaded. For example, an Android app can use proguard for minification and obfuscation. And when using NDK, dwarf debug files need to be uploaded. Flutter Web requires sourcemaps and iOS apps also require dwarf debug information files.

Uploading for iOS and macOS

Sentry requires a dSYM upload to symbolicate your crash logs. The symbolication process unscrambles Apple’s crash logs to reveal the function, file names, and line numbers of the crash. Learn how to upload the dSYM files.

Uploading for Android NDK

Native symbolication on Android requires a specific configuration. For good symbolication, set android:extractNativeLibs="true" in your AndroidManifest.xml file or android.bundle.enableUncompressedNativeLibs=false for Android App Bundle in your gradle.properties file.

If you use the Android NDK, you must upload files manually using our CLI.

Uploading with ProGuard

To use ProGuard with Sentry, upload the Android Proguard/R8 mapping files by either the recommended method of using our Gradle integration or manually by using sentry-cli.

Uploading Source Maps for Flutter Web

You can also use our CLI to upload source maps for Flutter Web.

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").