Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error while using DebugDiag for debugging dump file

This is the first time I'm debugging or doing anything with a .dmp file. I'm using Debugdiag. When I run my Analysis, I get this error-

Analysis results may be incomplete because an error occurred while initializing the CLR diagnostic runtime for w3wp.DMP.

Dump File:  w3wp.DMP

Type:  DebugDiag.DotNet.DacNotFoundException

Message:  CLR is loaded in the target, but the correct dac file cannot be found. DacFileName: mscordacwks_Amd64_Amd64_10.0.30319.01.dll. DacLocation: 

It says to fix this, I must do this:

To fix this problem, you can copy mscordacwks.dll from the server where the dump was taken and rename it to mscordacwks_Amd64_Amd64_10.0.30319.01.dll and add the path of the folder to the Symbol server path by going to Tools-> Options and Settings

I did it, and now I get the following error:

Dump File: w3wp.DMP

Type: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException

Message: Failed to load dac: D:\Dumps\mscordacwks_Amd64_Amd64_10.0.30319.01.dll

Stack Trace:

Microsoft.Diagnostics.Runtime.DacLibrary..ctor(DataTargetImpl dataTarget, String dacDll)

Microsoft.Diagnostics.Runtime.DataTargetImpl.CreateRuntime(String dacFilename)

DebugDiag.DotNet.NetDbgObj.CreateRuntimeAndGetHeap(String dumpPath, IDbgObj3 legacyDebugger, String symbolPath, Boolean throwOnBitnessMismatch, Boolean loadClrHeap)

HResult: UnknownError

I had tried going through a few links, one being this. Not getting anything. How do I fix this and view the entire analysis for the dump file?

like image 529
karan k Avatar asked May 29 '14 09:05

karan k


People also ask

How do you debug a crash dump in DebugDiag?

Note By default, the Debug Diagnostics tool is located in the C:\Program Files\DebugDiag folder. On the Advanced Analysis tab, click Add Data Files. Locate and then click the dump file that you want to analyze, and then click Open. On the Advanced Analysis tab, click Crash/Hang Analysis, and then click Start Analysis.

How do I debug the IIS app pool crash?

Open DebugDiag (Start > Programs > Debug Diagnostic Tool 1.2) Select Crash and click Next. If the crashing process is w3wp.exe then choose the option A specific IIS application pool and click Next and Choose the application pool that is crashing from the list and click Next.


1 Answers

You should only get this if you are analyzing on a different machine than the dump came from. The reason is simply that a different version of the mscordacwks.dll is in use.

To fix it, copy the mscordacwks.dll from the source machine to the analysis machine into a temporary directory (NOT the %WINDIR%\Microsoft.net directory).

Rename the copied mscordacwks.dll to mscordacwks_Amd64_Amd64_10.0.30319.01.dll.

Add the temporary directory to the symbol search path in the debugdiag analysis app.

Rerun your analysis.

like image 142
Drengor Avatar answered Oct 04 '22 02:10

Drengor