sentry-native
sentry-native copied to clipboard
build+install breakpad's dump_syms executable
Part of the build process when using the breakpad backend, is dumping all symbols from an executable (that contains debug symbols). This pr adds support to the cmake script for building it.
- [ ] This pr needs https://github.com/getsentry/breakpad/pull/17 because there are some breakpad compile errors
- [ ] The sentry-native unit tests do not trigger building
dump_symsbecause it only builds the bare minimum - [ ] Right now, it will build
dump_symsunconditionally when using thebreakpadbackend. I did not add exceptions for e.g. Android/iOS/... . - [ ] Untested on mingw
Some feedback would be appreciated.
@madebr before going ahead with this, can you clarify on this:
Part of the build process when using the breakpad backend, is dumping all symbols from an executable (that contains debug symbols).
With Sentry, this is not required at all. Like @Swatinem mentioned earlier, you should upload the .exe/dll and .pdb files to Sentry. This allows us to extract higher fidelity debugging information that what the Breakpad symbol format offers. We will also be phasing out support for Breakpad in the SDK pretty soon.
We will also be phasing out support for Breakpad in the SDK pretty soon.
Please be sure to offer a fix/workaround for issue https://github.com/getsentry/sentry-native/issues/537 before phasing out Breakpad.
@madebr before going ahead with this, can you clarify on this:
Part of the build process when using the breakpad backend, is dumping all symbols from an executable (that contains debug symbols).
My use case is for an open source project such that users can easily create good crash reports. Because open source projects generally generate a lot of variants of binaries, storing debug symbols centrally and/or using sentry's service is not practical. That's why I was thinking about using breakpad for users to generate reports locally. Hiding/obfuscating source code is not needed here.
I'm currently investigating backward-cpp.
So perhaps, I won't need crashpad at all.
With Sentry, this is not required at all. Like @Swatinem mentioned earlier, you should upload the .exe/dll and .pdb files to Sentry. This allows us to extract higher fidelity debugging information that what the Breakpad symbol format offers. We will also be phasing out support for Breakpad in the SDK pretty soon.
If so, then you will also probably stop maintaining the sentry/breakpad repo.
Then it won't make sense to push forward with these changes.
Thanks for your time!