14
0:025> !pe
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_<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.

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.

corflags.exe / 32bit + xxxx.exeを64ビットサーバー2003で実行すると、通常xxxx.exeがクラッシュします。このダンプを取得しました。同じマシンにwindbg(x86)をインストールしましたが、SOSを使用できません。この問題をグーグルで検索しましたが、仕事の答えが見つかりません。同じマシンを使用していますが、windbgが必要なものを見つけられないのはなぜですか?

4

1 に答える 1

14

問題は、 の正しいバージョンmscordacwks.dllが見つからないことです。DLL は、ランタイムと SOS の間の抽象化レイヤーとして機能するため、ランタイムのバージョンに対応する必要があります。ここに問題とその解決策の優れた記事がありますhttp://blogs.msdn.com/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what- is-mscordacwks-dll.aspx

DLL の名前を変更する際のアドバイスには十分注意して従うようにしてください。間違っていると機能せず、エラー メッセージも役に立たないからです。

于 2009-12-17T10:29:48.753 に答える