首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windbg中调试挂起转储时出现问题

在windbg中调试挂起转储时出现问题
EN

Stack Overflow用户
提问于 2011-09-21 20:12:38
回答 1查看 1.4K关注 0票数 1

在我加载了sosex之后,我得到了以下错误。有什么想法吗?挂起转储来自32位机器,我的是64位机器。我需要安装什么吗?

代码语言:javascript
复制
!clrstack

CLR DLL status: ERROR: Unable to load DLL mscordacwks_x86_x86_2.0.50727.3623.dll, Win32 error 0n2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-04 05:39:07

问题是您机器上的mscordacwks版本与崩溃转储中的版本不同。这不是位的问题--即使你的机器是64位的,你也安装了32位的.NET。我的是在C:\Windows\Microsoft.NET\Framework\v2.0.50727.下

您拥有的副本不会有那么长的名称,它将被命名为mscordacwks.dll。当调试器发现您的“活动”副本不同时,它将搜索具有长名称的副本(避免dll地狱),这还会告诉您需要获取哪个版本。在我得到正确的mscordacwks.dll (例如从原始机器)后,我将其复制到我的框架目录中,并按照错误消息中显示的名称对其进行命名。我还设置了windbg的镜像路径,使其包含framework目录。

sos必须使用mscordacwks框架程序集来理解内存中的数据结构。这一切都在博客帖子“Failed to load data access DLL, 0x80004005” – OR – What is mscordacwks.dll? on the Notes from a dark corner博客中得到了解释。

你会发现互联网上到处都是关于如何获得不同版本的dll的问题。假设你不能从创建崩溃转储的机器上得到它,也不能从微软的符号服务器上下载它,那么我在过去所做的就是在microsoft.com中搜索mscordacwks和我需要的版本(例如2.0.50727.3623)。它通常在你可以下载的安全补丁中。

如果你没有合适的系统来安装它,我有幸用7zip打开了安装可执行文件。我在cab中找到了mscordacwks文件,该文件位于安全补丁安装可执行文件的补丁文件( MSP文件)中。每一个都可以用7zip打开。

当你访问CAB文件时,有时最好使用expand.exe,因为它可以解压缩文件7zip (v4.65)不能。如果你用7zip打开一个有_manifest_.cix.xml的CAB,使用expand代替,因为它使用清单来提取,解压缩和重命名内容。7zip (执行一个简单的提取到...)将其保留为原始文件,并以数字形式命名,字面意思为1、2等。这些文件仍可能被压缩。你知道的方法是,如果你打开它们(例如使用SciTE),它们将以PA30这样的签名开始(它将匹配清单中的源“类型”属性)。

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

https://stackoverflow.com/questions/7499537

复制
相关文章

相似问题

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