我正在尝试使用Windows 7 x64上的WinDbg调试.NET 4 32位(在项目选项中显式设置)应用程序,以下是步骤:
之后我得到了这个:
Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
2) the file mscordacwks.dll that matches your version of clr.dll is
in the version directory
3) or, if you are debugging a dump file, verify that the file
mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.
4) you are debugging on the same architecture as the dump file.
For example, an IA64 dump file must be debugged on an IA64
machine.
有什么问题? 我搜索了很多..这个问题看起来与内存转储有关:Failed to load data access DLL, 0x80004005 但我正在尝试调试正在运行的应用程序。
答案 0 :(得分:3)
DAC是SOS用于与托管运行时通信的层。如果由于某种原因无法找到正确的版本(或者如果您的调试器已过时),您将看到此消息。如果您执行.cordll -ve -u -l
,则会获得有关其尝试加载的版本的更多信息,您应该可以从那里进行故障排除。
答案 1 :(得分:2)
最后我使用Visual Studio立即窗口而不是WinDbg来调用SOS函数(dumpheap等):http://msdn.microsoft.com/en-us/library/bb190764.aspx