开发者

Setting the image path of CLR module in Windbg

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) Win开发者_高级运维dows 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?


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜