WinDbg 64位错误:无法加载数据访问DLL

WinDbg 64位错误:无法加载数据访问DLL,windbg,Windbg,我从我们的网络支持团队收到了一个小型转储文件。他们抱怨我们在生产节点上的一个站点导致了高cpu使用率 Windows服务器是x64,但IIS应用程序池正在32位模式下运行。网络/支持人员使用默认任务管理器创建转储文件,因此我假设转储文件必须是64位的 我下载了WinDbg x64。然后,我尝试按照下面链接中给出的说明查找代码的哪些部分可能有问题: 尽管dump文件和WinDbg都是64位的,但当我运行“lmvm clr”命令时,调试器显示以下行: 映像路径:C:\Windows\Microso

我从我们的网络支持团队收到了一个小型转储文件。他们抱怨我们在生产节点上的一个站点导致了高cpu使用率

Windows服务器是x64,但IIS应用程序池正在32位模式下运行。网络/支持人员使用默认任务管理器创建转储文件,因此我假设转储文件必须是64位的

我下载了WinDbg x64。然后,我尝试按照下面链接中给出的说明查找代码的哪些部分可能有问题:

尽管dump文件和WinDbg都是64位的,但当我运行“lmvm clr”命令时,调试器显示以下行:

映像路径:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

如果我运行此命令:

.loadby sos clr

然后呢!pe命令时,我会得到“no export!pe found”(任何其他命令如!CLRStack都会出现这种情况)

如果我得到mscordacwks.dll和sos.dll的64位版本,并将它们复制到symbol文件夹中,库将在运行时加载!pe命令我将获得
“加载数据访问DLL失败,0x80004005错误消息!

我做错了什么?我要求网络团队向我发送.dll文件(
sos.dll
和mscordacwks.dll),我将它们复制到symbols文件夹,但没有任何更改


p、 我读过所有类似的文章,但没有一篇有用。

在32位调试器中打开转储并运行
!wow64exts.sw
。现在应该可以加载SOS并运行命令,尽管不是所有命令都可以运行。这会有帮助,但最好的解决方案仍然是使用32位工具收集转储。

,重新捕获32位转储应该是b这是你显而易见的选择。