Error while using DebugDiag for debugging dump file

8.2k Views Asked by At

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?

1

There are 1 best solutions below

0
On

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.