Currently, we have some kind of "debug" builds available, but I'm not sure they're usable at all: they seem to include our application built in debug mode (i.e. without some of the optimizations, and with additional asserts enabled), and linked with debug runtime libraries (not sure about Qt ones). This is barely useful for actual debug purposes.
The plan is:
Eliminate separate debug builds (I'm not even sure we're allowed to redistribute debug versions of runtime binaries — though I'm not sure we're distributing them, but if we don't, then these builds are even more useless than I thought)
Ensure we build and save PDBs for each release
Pack the PDBs on the CI and make them a separate artifact on our CI
Make sure our application is subject to Windows' automatic crash dump creation (I think it should work automatically, but if it isn't, then we better prepare some instructions on how to enable it)
Make sure our PDBs really help to debug access violations
To perform steps 4-5, I plan to build a special binary that will always crash, and then try to create a crash dump and analyze it without PDBs, and then with them — the second should lead to properly formed stack traces and easier crash investigation.
Currently, we have some kind of "debug" builds available, but I'm not sure they're usable at all: they seem to include our application built in debug mode (i.e. without some of the optimizations, and with additional asserts enabled), and linked with debug runtime libraries (not sure about Qt ones). This is barely useful for actual debug purposes.
The plan is:
To perform steps 4-5, I plan to build a special binary that will always crash, and then try to create a crash dump and analyze it without PDBs, and then with them — the second should lead to properly formed stack traces and easier crash investigation.