Windbg中设置CLR模块的镜像路径

发布于 2024-10-21 02:41:58 字数 1031 浏览 5 评论 0原文

当我在 Win7 64 位机器上运行 64 位版本的 Windbg 时,它显示 clr.dll 模块的图像路径是框架的 32 位版本,而不是64 位。

有没有办法在Windbg中指定clr.dll模块的图像路径?在 64 位机器上运行的 Windbg 64 位是否应该从 Framework64 目录中获取 clr.dll?

0:000> lmvm clr
...
    Loaded symbol image file: clr.dll
    Image path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

我有一个 64 位 w3wp.exe 转储,我无法在其上使用 SOS,我相信这是因为框架不兼容,由这个 32 位 clr dll 映像引起。

0:000> .loadby sos clr
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."

再次,转储来自 64 位服务器,我仔细检查了它是否与我正在调试的 Win7 64 位计算机具有相同的 CLR 版本,并且我正在运行 64 位 Windbg。

Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
...
Windows 7 Version 7600 MP (4 procs) Free x64

当我运行 32 位 Windbg 时,它可以正常加载 SOS,但当我尝试运行 !threads 时会出现错误,并出现无处不在的 Failed to load data access DLL, 0x80004005 错误。

可以设置 CLR 映像吗?如果可以,如何设置?

When I run the 64-bit version of Windbg on a Win7 64-bit machine, it shows the image path of the the clr.dll module to be the 32-bit version of the framework, not the 64-bit.

Is there any way to specify the image path for the clr.dll module in Windbg? Should Windbg 64-bit running on a 64-bit box be grabbing clr.dll from the Framework64 directory?

0:000> lmvm clr
...
    Loaded symbol image file: clr.dll
    Image path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

I have a 64bit w3wp.exe dump that I cannot use SOS on, and I believe it's because of incompatible frameworks, caused by this 32bit clr dll image.

0:000> .loadby sos clr
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."

Once again, the dump is from a 64-bit server, I've doubled checked that it has the same CLR version as my Win7 64bit machine I'm debugging on, and I'm running 64bit Windbg.

Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
...
Windows 7 Version 7600 MP (4 procs) Free x64

When I run 32-bit Windbg, it loads SOS fine, but then errors when I try to run !threads, with the ubiquitous Failed to load data access DLL, 0x80004005 error.

Can the CLR image be set and if so, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断肠人 2024-10-28 02:41:58

这实际上听起来像是 mscordacwks 问题。看一下 http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-或-what-is-mscordacwks-dll.aspx 有关解决此问题的优秀指南。

This actually sounds like an mscordacwks issue. Take a look at http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx for an excellent guide on resolving this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文