views:

263

answers:

3

I have a Visual Basic 6 application that I've recently changed to use a couple of C++ DLLs I've written in Visual Studio 2008. The application works fine on my PC, but when we install it on one of our test PCs it tends to crash during shutdown - we see the Win 7 message "Your application has failed" or whatever it is.

I know Win 7 stores data that can be used to analyse the crash. I've got the source code and .PDB files from the build so I should be able to use that, but I can't figure out where Win 7 stores the data from the crash. The Event Viewer shows the crash but doesn't have any data and the directory C:\Windows\Minidump doesn't exist.

Where do the crash files get put?

A: 

Why don't you make your program save minidump wherever you want when the crash happens? I'm not familiar with VB but try to use SetUnhandledExceptionFilter() and MiniDumpWriteDump().

young
+1  A: 
  • Get minidump for crash
  • Get WDK , Using Debugging Tools for Windows

  • Use Windbg to open crash dump

  • use command !analyze

    The !analyze extension displays information about the current exception or bug check.

  • Read more about window debugging

Creating Dump:

You can configure windbg as defaut debugging tool by giving command "windbg -I" in run.

Also Dr. Watson tool can do this for you.

sat
Are you saying the user has to configure WinDbg as the default debugging tool (or Dr Watson) in order to create a crash dump? Doesn't Windows do this by default?
parsley72
There are two ways:1. use Crash Dump to postmortem the issue2. Use windbg as default debugger , When your process will crash it will open with windbg automatically and you can catch the culprit
sat
you can create dump programatically also ...read this thread http://stackoverflow.com/questions/1547211/how-to-create-minidump-for-my-process-when-it-crashes
sat
A: 

You can even use a carsh reporting mechanism and get the locally saved dump file, then debug it using Visual Studio. There are pretty much freely available resources in Visual C++, but not much in VB.