Articles | Full Index | RSS Feed
Today I spent some time investigating how to better handle crash reporting in Cantabile.
Previously I've relied on the Microsoft's Dr Watson utility for this. Dr Watson is a diagnostic tool that when enabled, springs into action if an application crashes and captures the state of the program. These dumps can then be sent to the developer for investigation.
In Vista however, Microsoft has removed Dr Watson and recommends developers register their product with their WinQual site. This is what's supposed to happen:
Sounds good in theory, but there's a couple of hitches:
Although there are work arounds for most of the above issues, it's all a bit messy. So, I've added a new feature to Cantabile so that it can create these MiniDump crash reports itself. In the diagnostics dialog there's two new options:

The first option, Generate MiniDump on Crash, tells Cantabile to generate the MidiDump file. For convenience, it's placed in the same directory as Cantabile's other diagnostic log files. This option is on by default.
The second option, Include Data Segments in MiniDumps, causes the MiniDump to include the contents of all the program's user data. It's off by default as the resulting file is much larger, and also touches on privacy issues - though I'm not sure how much "private" information someone would have loaded into Cantabile.
The biggest catch in order for this information to be useful is that I need to keep exact copies of each build I release, including the exact state of source code, all used libraries etc... This isn't a big a as I keep everything under version control anyway, but I'll probably update the build scripts to zip and archive all this automatically, so as to not have to recreate it later.
So I'm rather pleased with these new options as they should simplify crash reporting significantly. I guess I'll find out soon enough...
Posted on April 19, 2008