I have captured a crash dump of my 32 bit .NET application running on a 64 bit Windows operating system. During the analysis somebody found out that I have a 64 bit dump and
The bitness matters for .NET applications for the following reasons:
It is not possible to convert a dump from 64 bit to 32 bit, although in theory it should contain all necessary information.
If you're feeling lucky, you can also try some of the instructions anyway
If you don't know the bitness, you can find it out like this:
Windows 7 Task Manager shows *32
on processes:
In Windows 8 task manager, go to the Details
tab and add a column named Platform
:
Visual Studio shows the bitness when attaching to the process:
Process Explorer can be configured to show the Image Type
column:
Programs which detect bitness automatically:
Tools which capture a dump with specific bitness:
-64
command line switchJust choose the bitness according to your application, not according the OS.
For .NET you need a full memory dump, otherwise you cannot figure out the content of the objects. To include full memory, do the following:
/ma
when doing .dump
-ma
command line switchDumpType
to 2
I found out that many developers aren't even aware that Visual Studio can create dumps. The reason probably is that the menu is invisible for a long time. These are the steps:
Probably just for debugging the WoW64 layer itself.