Troubleshooting
If you need help solving issues with Sentry's Flutter SDK, you can read the edge cases documented here. If you need additional help, you can ask on GitHub. Customers on a paid plan may also contact support.
- If you enable the
split-debug-info
andobfuscate
features, you must upload debug symbols. - Issue titles might be obfuscated as we rely on the
runtimeType
, but they may not be human-readable. See the Obfuscate Caveat. - Layout related errors are only caught by FlutterError.onError in debug mode. In release mode, they are removed by the Flutter framework. See Flutter build modes.
- Use inbound filters to exclude unhandled errors that are caught outside of your application in release builds. The SDK cannot filter these directly due to obfuscated stack traces.
- If your app runs on Windows and uses a Flutter version below
3.3.0
, you need to set the version and build number manually, see this issue on GitHub. To do so:- Use Dart defines to build the app:
flutter build windows --dart-define=SENTRY_RELEASE=my_app@1.0.0+1
- Or, set the release on SentryOptions
options.release = 'my_app@1.0.0+1'
during SDK initialization.
- Use Dart defines to build the app:
The Sentry Flutter SDK includes the Sentry Android SDK, which bundles multiple native libraries for multiple ABIs. Building a Flutter app for a specific ABI using the --target-platform
argument, for example an ARM 32bit apk, looks like this, which should also include the --split-per-abi
flag:
flutter build apk --target-platform=android-arm --split-per-abi
The configuration for symbolication of Native events (C/C++) is documented in our Android Native Development Kit content. If you are having issues with symbolication in Flutter, check that your configuration is correct, as discussed in our Flutter content that covers Uploading for Android NDK
Flutter split-debug-info
and obfuscate
flags are supported on iOS/macOS. They require compiling your app using Flutter, version 3.7.0
and above and the Sentry Flutter SDK, version 6.10.0
and above.
Source Context support requires compiling your app using the split-debug-info
build parameter on Flutter 3.10.0
and above. You must also upload debug symbols with the upload_sources
option enabled.
If you are using the Sentry Dart Plugin to upload Debug Symbols, refer to the points below to resolve potential issues.
A Sentry auth_token
can be generated at the Organization Auth Tokens settings page.
Dart's --obfuscate
option is required to be paired with --split-debug-info
to generate a symbol map. See Dart docs for more information.
The --split-debug-info
option requires setting an output directory. The directory must be an inner folder of the project's folder. See Flutter docs for more information.
Flutter's build web
command requires setting the --source-maps
parameter to generate source maps. See Flutter GitHub Issue for more information.
There is an issue with the Sentry Flutter SDK where apps can crash if taking screenshots in the background.
This is an issue with Flutter itself and should be fixed in Flutter 3.15.
For prior versions, you can work around this by configuring the SDK only to take screenshots when the app is in the resumed
state. To do this, set SentryFlutterOptions.attachScreenshotOnlyWhenResumed
to true
.
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").
- Package:
- pub:sentry_flutter
- Version:
- 8.0.0
- Repository:
- https://github.com/getsentry/sentry-dart
- API Documentation:
- https://pub.dev/documentation/sentry_flutter/latest/