使用DebugDiag调试转储文件时出错

kar*_*n k 11 .net dump debugdiag

这是我第一次使用.dmp文件调试或执行任何操作.我正在使用Debugdiag.当我运行我的分析时,我得到这个错误 -

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: 
Run Code Online (Sandbox Code Playgroud)

它说要解决这个问题,我必须这样做:

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
Run Code Online (Sandbox Code Playgroud)

我做到了,现在我收到以下错误:

转储文件:w3wp.DMP

键入:Microsoft.Diagnostics.Runtime.ClrDiagnosticsException

消息:无法加载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
Run Code Online (Sandbox Code Playgroud)

我曾尝试过几个链接,一个是这个.什么都没得到.如何解决此问题并查看转储文件的整个分析?

小智 4

仅当您在与转储来源不同的计算机上进行分析时,您才应该得到此信息。原因很简单,因为正在使用不同版本的 mscordacwks.dll。

要修复此问题,请将 mscordacwks.dll 从源计算机复制到分析计算机的临时目录(而不是%WINDIR%\Microsoft.net 目录)。

将复制的 mscordacwks.dll 重命名为 mscordacwks_Amd64_Amd64_10.0.30319.01.dll。

将临时目录添加到 debugdiag 分析应用程序中的符号搜索路径。

重新运行您的分析。