I'm not at all into VC++ but I just learnt about PDB files and how they can (supposedly) provide better debugging output than 'An error has occurred, do you want to send this to Microsoft?': there's a mechanism called
program database (PDB) which contains the debugging symbols in a way that executables which were built with a certain VC++ parameter can access them during runtime to produce a meaningful stack trace. I guess that, unless it notably impacts performance (I assume it does not), we should build all releases (or just dev snapshots if it does impact performace) using this option and ship the PDB file with the application installer.
There's also some useful information on other options
here and
here. The bottom line is that there are two ways to get access to (supposedly meaningful) traces generated on Windows computers without having to install VC++ or WinDBG on those computers:
- the standard way of the user sending a minidump to microsoft, which you can then access as a developer through https://winqual.microsoft.com/ - but only after you bought a 1y certificate from Verisign for USD 99,-
- by adding debugging hooks which will use the drwatson utility (its 32 bit version which was apparently introduced with XP) to generate your trace and then have the user (or a script) ship the resulting trace to you (the developer).
The last option seems like it could work for us...