Open ueman opened 3 years ago
let's add the windows/macos/linux support to this script
https://github.com/getsentry/sentry-dart/blob/main/flutter/example/run.sh
the way of uploading debug files is the same as iOS/Android -> https://github.com/getsentry/sentry-dart/blob/main/flutter/example/run.sh#L58-L60
we need to see if frames are symbolicated, file/function names are available and line number is also correct.
I believe macOS won't work if Flutter has the same format as iOS debug files, but let's try.
@bruno-garcia you may need to help us on Windows, would you be willing to do so? :)
Didn't seem to work: https://sentry.io/organizations/sentry-sdks/issues/2367778946/?project=5428562&query=is%3Aunresolved
We would need to add the debug_meta with the DLL's build_id of sorts. @jan-auer might have pointers.
.so
on Windows? They really went all in with ELF it seems
indeed, we'd need to install the LoadAndroidImageListIntegration
integration for Flutter Desktop, but not only, on Android, sentry-native
is also responsible for loading that.
That means, either we ship sentry-native for Linux/Windows or we find a way to do it via Native code or ffi
macOS requires that too, so Sentry Cocoa needs to expose a way of getting the debug image list. https://github.com/getsentry/sentry-cocoa/issues/1089
The Flutter docs state that obfuscate
is not supported on Windows and Linux.
Makes it easier. On Windows and Linux we only need to bundle sentry-native
to capture native crashes.
Removed obfuscate
from the title since it's not supported by the tooling anyway.
@ueman I believe this is now possible? https://docs.flutter.dev/deployment/obfuscate#supported-targets
macOS
should work already, I believe, since we already use the Sentry Cocoa SDK as well, after uploading debug symbols of course.
Yes, it seems like it's now possible 🥳
Ok removed the limitation https://github.com/getsentry/sentry-docs/pull/7156/files This has been tested already https://github.com/getsentry/sentry-dart/blob/8ccf7824c7322eebfda677dcce9d0ee25614b31a/flutter/example/run.sh#L33
Is there any update on this now that obfuscate
is supported on windows?
https://docs.flutter.dev/deployment/obfuscate#supported-targets
I imagine we'd need to add sentry-native
to the SDK and capture loaded image info. That with PDB uploading etc. @vaind might know how much work this would entails
interested
@bruno-garcia thanks for looking into this, any updates greatly appreciated :)
I'm not involved directly so I don't think this is planned to be honest, but I'm sure we're happy to get contributions if folks want to get support. @kahest will know what's going on
Just to confirm @kahest is this something that will only be supported with outside contributions or is this something that the Sentry team plans on supporting?
Hey @Ghelwig - we're interested in supporting this, but currently don't have the bandwidth internally. We're happy to work with folks interested in contributing!
We would really love to see support for flutter build bundle
as well. The only way currently is to build a debug build, which is a heavy penalty on an embedded target.
We need to test
split-debug-info
andobfuscate
on macOSsplit-debug-info
andobfuscate
on Linuxsplit-debug-info
andobfuscate
on WindowsThose options have not been tested. They might require changes in the SDK and/or on the server. It could be that they already work, and in this case we don't need to do anything.
We need to update the docs after this has been tested.