matwey / fips3

OpenGL-based FITS image viewer
http://fips.space
GNU Lesser General Public License v3.0
30 stars 5 forks source link

Extract debug information from Windows release builds #152

Open matwey opened 4 years ago

ForNeVeR commented 4 years ago

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:

  1. 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)
  2. Ensure we build and save PDBs for each release
  3. Pack the PDBs on the CI and make them a separate artifact on our CI
  4. 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)
  5. 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.