Troubleshooting minidump in VS 2010

I call MiniDumpWriteDump from .NET to create a mini drive, and this works fine. However, when I load the resulting dump into VS 2010, I do not see any useful information. In particular, the Call Stack window looks something like this:

Call stack

It does not contain managed frames, although I write a dump in the exception handler in managed code. In addition, it does not contain frames located in my exe.

Any idea why this is happening?

By the way, when I manually create a dump manually from the VS debugger, the dump contains managed frames as expected.

Edit:

I found a Microsoft Connect question about this. It says:

Currently, the CLR does not support managed processes, dumps.

Does anyone know if this is true?

+4
source share
3 answers

I found my mistake. I looked at the call stack of the wrong thread (I did not realize that more than one thread was working). Now I see that the managed call stack is just fine.

+2
source

I do something similar in my application (i.e. by calling MiniDumpWriteDump, and then examine the dumps in the debugger).

Whenever I get this problem, there are two possible reasons:

  • missing character information
  • or the dll or exe that the process used during the dump is missing

The first reason is easy to solve. In VS2010, you can simply right-click the DLL in the call stack or in the "Modules" window and select "Download Symbols from Microsoft Servers".

The second reason is more difficult to solve. If the DLL or EXE is missing, the debugger refuses to debug it and even refuses to look at the characters. The trick is to create a dummy DLL / EXE from a DMP file. See http://www.debuginfo.com/tools/modulerescue.html for the MODULERESCUE utility. This utility can generate dummy DLLs and EXEs for a given DMP file, enough to satisfy the debugger so that it loads characters again.

0
source

Keep in mind that you must call MiniDumpWriteDump from the exception filter, which is supported by VB.NET but not C #.

Take a look at these links:

Getting good dumps when throwing an exception

Writing Minidumps from Exceptions in C #

0
source

All Articles