tags:

views:

222

answers:

2

Hi there,

I have a C# application which crashes sometimes for unknown reason. Therefore, I want to find the crash dump file but it does not exist. I also wrote a small application which provokes a DivideByZero exception (unhandled). The consequences of this: on the one system the program closes without any message, on the other system (VM) I get a simple crash report which wants to send data to Microsoft.

I configured drwtsn.exe and the registry settings. I also tried to use WinDbg without success.

Does anybody know how I can force the system to write dump files?

Best regards, el

+1  A: 

ADPlus is the easiest way. Extensive documentation starts here: http://support.microsoft.com/kb/286350

Richard Berg
I would prefere a possibility with which a customer dont has to configure his PC. Is there any other way??? thanks in advice
elCapitano
+1  A: 

You'll need to write an event handler for the AppDomain.UnhandledException event. Logging the e.ExceptionObject.ToString() value is almost always good enough, the stack trace tells you how the code got into trouble.

P/Invoking MiniDumpWriteDump() from dbghelp.dll is possible too, you'd get a .dmp file that you could use to analyze the exception with WinDbug. Dbghelp.dll is available on Vista and Win7, you can get it from the Debugging Tools for Windows download for earlier versions. However, you can't get good managed stack traces from that minidump, not until VS2010 ships.

Hans Passant
thanks for your awnser, but the UnhandledException event is not called. My Application terminates without any hint.
elCapitano
That is *very* unusual, maybe you've got some kind of unmanaged code that calls TerminateProcess. I can't see it from here.
Hans Passant