首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用DebugDiag调试转储文件时出错

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

Stack Overflow用户
提问于 2014-05-29 09:41:32
回答 1查看 7.4K关注 0票数 11

这是我第一次对.dmp文件进行调试或执行任何操作。我在用Debugdiag。当我运行我的分析时,我会发现这个错误-

代码语言:javascript
运行
复制
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: 

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

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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。什么都没得到。如何修复这个问题并查看转储文件的整个分析?

EN

回答 1

Stack Overflow用户

发布于 2015-12-01 20:06:00

只有当您在与转储不同的机器上进行分析时,才会得到这个结果。原因很简单,因为使用的是不同版本的mscordacwks.dll。

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

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

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

重新进行分析。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23930301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档