Description
When using the native backend, and SENTRY_CRASH_REPORTING_MODE_NATIVE_WITH_MINIDUMP, the SDK should generate a stack trace locally, generate a minidump, and upload both. The purpose of this (I presume) is that you can get better stack traces locally because you always have all the DLLs, even if you don't have their PDBs.
The issue is that when you upload both a stack trace and a minidump, the trace is ignored and a new (less accurate) one is generated serverside. I was able to work around this by patching the SDK to upload minidumps as generic attachments instead of the dedicated minidump type, but that's a hack and it should probably be fixed serverside.
When does the problem happen
Environment
- OS: Windows 11 64-bit
- Compiler: MSVC
- CMake version and config: SENTRY_BACKEND=native
Steps To Reproduce
- build with native backend and use SENTRY_CRASH_REPORTING_MODE_NATIVE_WITH_MINIDUMP
- Trigger a crash in a DLL that has not been uploaded to sentry (in my case it was inside AMD GPU driver dlls)
- observe the terrible stack traces
Here's the example project I used for testing / to make the above traces: https://github.com/wheybags/sentry_stack_bug
Description
When using the native backend, and SENTRY_CRASH_REPORTING_MODE_NATIVE_WITH_MINIDUMP, the SDK should generate a stack trace locally, generate a minidump, and upload both. The purpose of this (I presume) is that you can get better stack traces locally because you always have all the DLLs, even if you don't have their PDBs.
The issue is that when you upload both a stack trace and a minidump, the trace is ignored and a new (less accurate) one is generated serverside. I was able to work around this by patching the SDK to upload minidumps as generic attachments instead of the dedicated minidump type, but that's a hack and it should probably be fixed serverside.
When does the problem happen
Environment
Steps To Reproduce
Here's the example project I used for testing / to make the above traces: https://github.com/wheybags/sentry_stack_bug