zoukankan      html  css  js  c++  java
  • Failed to load data access DLL, 0x80004005

    Me and some colleagues of mine recently all stumbled over the following error when analyzing .NET minidumps:
    I opened a the minidump and typed !CLRStack. What I got was:

    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 mscorwks.dll is
    in the version directory
    3) or, if you are debugging a dump file, verify that the file
    mscordacwks___.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.

    You can also run the debugger command .cordll to control the debugger's
    load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload.
    If that succeeds, the SOS command should work on retry.

    If you are debugging a minidump, you need to make sure that your executable
    path is pointing to mscorwks.dll as well.

    OK, so I followed the step 1 through 4...
    ad 1) I'm using version 6.7.5.0 for good reasons
    ad 2) Don't know what that means...
    ad 3) Why should a dll be in my symbol path?!?
    ad 4) The architecture is x86_32 on both machines

    So I tried .cordll -ve -u -l

    0:000> .cordll -ve -u -l
    CLRDLL: Unknown processor type in image C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
    CLR DLL status: No load attempts

    The following sentence finally helped me:

    If you are debugging a minidump, you need to make sure that your executable
    path is pointing to mscorwks.dll as well.

    So I executed:

    0:000> lmv m mscorwks
    start end module name
    79e70000 7a3d6000 mscorwks T (pdb symbols) C:\windbg\symbols\mscorwks.pdb\6D3E0DE91A284256A48A60718DC9CDEB2\mscorwks.pdb
    Loaded symbol image file: mscorwks.dll
    Image path: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
    Image name: mscorwks.dll
    Timestamp: Fri Apr 13 09:15:54 2007 (461F2E2A)
    CheckSum: 005635C7
    ImageSize: 00566000
    File version: 2.0.50727.832
    Product version: 2.0.50727.832
    File flags: 0 (Mask 3F)
    File OS: 4 Unknown Win32
    File type: 2.0 Dll
    File date: 00000000.00000000
    Translations: 0000.04b0 0000.04e0 0409.04b0 0409.04e0

    And...

    0:000> .exepath+ C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\

    Finally...

    0:000> .reload
    ...................................................................................................................................................................................................................................................
    CLRDLL: Loaded DLL C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscordacwks.dll

    And my !CLRStack worked ;-)

  • 相关阅读:
    《JS实现复制内容到剪贴板功能,可兼容所有PC浏览器,不兼容手机端》
    《Web开发中块级元素与行内元素的区分》
    《Web开发中让盒子居中的几种方法》
    《Javascript、jQuery获取各种屏幕的宽度和高度方法》
    《Web开发过滤Javascript、HTML的方法》
    《移动端浏览器Touch事件判断手指滑动方向方法》
    《C#微信开发系列(4)-接收 / 返回文本消息》
    《C#微信开发系列(3)-获取接口调用凭据》
    django rest-framework
    git
  • 原文地址:https://www.cnblogs.com/holly/p/2043272.html
Copyright © 2011-2022 走看看