4

x64 マシンで実行されたプロセスからの 32 ビット プロセス ダンプをデバッグしようとしています。x64 ラップトップで x86 バージョンの windbg を実行しています。ここの推奨事項に従いましたが、まだこれが表示されます:

0:000> .cordll -ve -u -l
CLR DLL status: No load attempts
0:000> !clrstack
CLRDLL: C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll:4.0.30319.17020 f:8
doesn't match desired version 4.0.30319.237 f:8
CLRDLL: Loaded DLL c:\symbols\public\mscordacwks_x86_x86_4.0.30319.237.dll\4DD234A8670000\mscordacwks_x86_x86_4.0.30319.237.dll
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.

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 clr.dll as well.

私が判断できる限り、mscordacwks_x86_x86_4.0.30319.237.dll正常にロードされましたが、それでもエラーが発生します。私は何が欠けていますか?

4

2 に答える 2

3

ProcDumpを使用して、64 ビット マシンで実行されていた 32 ビット プロセスの 32 ビット ダンプを取得することで、この問題を解決しました。32 ビットの windbg を使用して正常に調べることができます。詳細については、このブログ投稿を参照してください。

于 2011-10-29T22:34:21.377 に答える
0

32 ビットのダンプ ファイルがあるようです。そうでない場合、エラーは次のようになります。

CLR DLL status: ERROR: Unable to load DLL mscordacwks_AMD64_x86_2.0.50727.3053.dll, Win32 error 0n87

少なくとも、ブログ投稿「データ アクセス DLL の読み込みに失敗しました、0x80004005」によると、それは - または - mscordacwks.dll とは何ですか? 暗いコーナーのブログからのメモ。

エラー メッセージに AMD64_x86 と x86_x86 が混在していることに注意してください。

私にとっては、正しいバージョンの mscordacwks を持っていないことが常に原因です。また、windbg が見つからない可能性もあります。セキュリティパッチから正しいバージョンを見つけて抽出するために使用した1つの方法については、windbgでのハングダンプの問題のデバッグに対する私の回答を参照してください。windbg にロードさせるために、windbg のイメージ パスを、保存したディレクトリを指すように設定しました。

于 2011-10-06T17:24:31.200 に答える