这是我第一次使用.dmp文件调试或执行任何操作。我使用的是Debugdiag。当我运行Analysis时,我收到此错误 -
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:
它说要解决这个问题,我必须这样做:
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
我做到了,现在我收到以下错误:
转储文件: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
我曾尝试过几个链接,一个是this。什么都没得到。如何解决此问题并查看转储文件的整个分析?
答案 0 :(得分:3)
如果您在与转储来源不同的计算机上进行分析,则应该只能得到此信息。原因很简单,正在使用不同版本的mscordacwks.dll。
要解决此问题,请将mscordacwks.dll从源计算机复制到分析计算机的临时目录( NOT %WINDIR%\ Microsoft.net目录)。
将复制的mscordacwks.dll重命名为mscordacwks_Amd64_Amd64_10.0.30319.01.dll。
将临时目录添加到debugdiag分析应用程序中的符号搜索路径。
重新运行您的分析。