Reputation: 21
My setup is as follows:
I have tried numerous ways to open the dump file it generates but all fails.
Following is what I have tried:
Try to use Analysis tab through Debug Diagnostic directly on the win 2003 server where the website is hosted. I get the following error
.NET runtime was loaded in the progress but managed analysis was not done on this dump file because the managed debugger extension commands failed to execue with the below error
CLRDLL: CLRDLL load disabled
CLRDLL: Unable to find mscordacwks_AMD64_AMD64_4.0.30319.1022.sll by mscorwks search
CLRDLL: Unable to find mscordacwks_AMD64_AMD64_4.0.30319.1022.sll on the path
CLRDLL: ERROR: Unable to find mscordacwks_AMD64_AMD64_4.0.30319.1022.dll , win32 error 0n2
Try to analyze the dump on a 32bit windows 7 machine, I get the following error:
DebugDiag Analysis cannot be performed against a 64-but dump file from a 32-bit analysis machine
Try to open the dump through WinDbg tool on a 32bit widows 7 machine:
0:000> !clrstack
Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
2) the file mscordacwks.dll that matches your version of mscorwks.dll is
in the version directory
3) or, if you are debugging a dump file, verify that the file
mscordacwks___.dll is on your symbol path.
4) you are debugging on the same architecture as the dump file.
For example, an IA64 dump file must be debugged on an IA64
machine.
You can also run the debugger command .cordll to control the debugger's
load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload.
If that succeeds, the SOS command should work on retry.
If you are debugging a minidump, you need to make sure that your executable
path is pointing to mscorwks.dll as well.
Try run the following commands on WinDBG to register mscordwks and switch to 32 bit version but still no go:
![enter image description here][2]
.loadby sos mscorkks
.load wow64exts
!sw
.cordll -ve -u -l
Try to use Visual Studio 2010 to debug this dump file but that also fails saying unable to display manged code or something.
I've spent 10 days on this already and feeling very disappointed & helpless.
Anybody who could shed some light on whats wrong here please?
Many thanks in advance.
Upvotes: 1
Views: 2243
Reputation: 59635
First of all, you have a 64 bit dump. We can see this, because DebugDiag tries to load the 64 bit version of mscordacwks. Next you say that you have a 32 bit web application. This is already a bad situation for .NET. You will not be able to analyze the dump. Maybe you have taken the dump with Task Manager, which by default will generate this sort of dump.
To verify that this is really the case, run the following command in WinDbg:
lm m wow64
If this lists the Wow64 module, then it`s the bad situation. If this does not produce any output, you have a 64 bit dump of a 64 bit application, which is a much better situation. However, you need a 64 bit version of WinDbg to analyze it, otherwise you'll not be able to load the 64 bit SOS extension. Also you need a 64 bit version of DebugDiag to analyze it (see your error messages).
WinDbg should download the correct version of SOS and mscordacwks if you type !analyze -v
. Also DebugDiag will try to download it. If that does not work, get the necessary files from the original machine, e.g. using Mscordacwkscollector.
Some other notes:
.loadby sos mscorkks
does not work. It is .loadby sos mscorwks
and even .loadby sos clr
for .NET 4Upvotes: 1