You probably need to do a Full (UserMode) dump, so it captures the state of the handle tables, so you can do a Post-mortem analysis using WinDBG, etc.
Description of the difference here:
If you had WinDBG installed and the crash occurred, you could use the WinDBG commands to create a dump file which contains more information e.g use the 'h' option to include "handle" information in the minidump.
Or you can use the DebugDiagnostics 1.2 tool which is slightly more customer friendly....you can get a Full User Dump to be created.
If you want to see the .NET stack frames and see other NET runtime state captured in the dump, then you need to load SOS.DLL (Son of Strike) to access that information in the dump....it is a WinDBG extension that is distributed with the .NET framework when installed on a machine.
As pointed out, you need to load the same version of the mscordacwks.dll(NET2)/cor.dll (NET4) and sos.dll that was on the originally debugged machine...this can be a pain.
There is a solution...if you set up WinDBG to point to the Microsoft Symbol Servers i.e.:
Then in theory, the mscordacwks.dll/cor.dll matching the NET version used on the target machine, will be downloaded from the symbol server if it's not already present on your machine.
Alternatively, you can avoid all those shenanigans by using PSSCOR instead...it doesn't have a tight binding to specific mscordacwks/cor.dll versions.
Load the PSSCOR2 (NET 2) or PSSCOR4 (NET 4) extensions...depending on the NET framework version your application ran under.....PSSCOR is a superset of SOS. In your case you want to load PSSCOR4 (forget about the regular SOS).