Search code examples
windowsdebuggingdumpcoredumpcrash-dumps

Snatching a crash dump on the user side and navigating it on the developer side


I have a program that has been built in "release with debug info" mode. Sometimes it crashes on the user side, but when I try to recreate it on my computer -- everything is fine. I'm looking for debug tool or something that would allow the user to snatch a crash dump and send it to me so I could at least see the call stack. What would be a suitable tool to do that? What can I navigate such dump with? After a brief searching I didn't find anything suitable, so I hope for your help. Thank you very much in advance!


Solution

  • Window Error Reporting (WER) is the Microsoft mechanism to capture crash dumps in OS code and Application code. If you use the default settings, the crash dump is sent to Microsoft servers and eventually deleted if you do not have a WER account. However, there is a way to trap the dump locally on a user's machine. In order to collect user mode dumps, you need to set some registry keys. I've done this with my customers by creating a small program that sets the necessary keys so that I can trap the dump. I send them the program and instruct them to email the dump file to me.

    Note: You'll also need to make sure that you have available the matching debug symbol files (.pdb) when debugging the crash. Otherwise, the collected dump file is somewhat useless.