1

私はWinDbgの初心者で、64ビットWindows2008ServerのWERReportQueueフォルダーからこのダンプを取得しました。ダンプを調べる必要があり、Windows用のデバッグツールパッケージをインストールした開発者のマシンで調べたいと思います。SOSをロードしようとすると、これまでに見たことのない次のエラーが発生しました。

0:035> .loadby sos mscorwks
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos) failed, Win32 error 126
    "The specified module could not be found."
Please check your debugger configuration and/or network access.

私のマシンは32ビットのWindows7を実行していますが、これには明らかにFramework64フォルダーがありません。

ここで正しい方向を示すアドバイスが必要です。32ビットマシンで64ビットプロセスからのダンプを調べたい場合はどうすればよいですか?これを行うことは可能ですか?

よろしくお願いします!

4

2 に答える 2

12

64ビットプロセスダンプを分析する場合は、64ビットバージョンのデバッガーを64ビットマシンで実行する必要があります。32ビットプロセスからのダンプは、32ビットおよび64ビットマシンで分析できます。したがって、ダンプが64ビットプロセスからのものであることが確実な場合は、64ビットマシンで分析する必要があります。

于 2009-08-27T16:59:39.803 に答える
3

問題は、32ビットWinDbgから64ビットダンプを分析できることではありません。WinDbgヘルプファイルから:

ダンプファイルを分析していて、ダンプファイルがWindows XP以降のバージョンのWindowsで作成された場合は、32ビットパッケージまたはx64パッケージのいずれかを使用できます。(ダンプファイルがユーザーモードのダンプファイルであるかカーネルモードのダンプファイルであるかは重要ではありません。また、ダンプファイルがx86ベースまたはx64ベースのプラットフォームで作成されたかどうかは重要ではありません。)

ダンプファイルを分析していて、ダンプファイルがWindows 2000オペレーティングシステムで作成されている場合は、32ビットパッケージを使用する必要があります。(ダンプファイルがユーザーモードのダンプファイルであるかカーネルモードのダンプファイルであるかは重要ではありません)

ライブカーネルモードデバッグを実行していて、ターゲットコンピューターがWindows XP以降のバージョンのWindowsを実行している場合は、32ビットパッケージまたはx64パッケージのいずれかを使用できます。(この状況は、x86ベースのターゲットとx64ベースのターゲットの両方に当てはまります。)

ライブカーネルモードデバッグを実行していて、ターゲットコンピュータがWindows 2000を実行している場合は、32ビットパッケージを使用する必要があります。

ライブユーザーモードデバッグを実行している場合は、64ビットと32ビットの両方のコードでWOW64をデバッグするためにx64パッケージを使用します。他のターゲットをデバッグするには、32ビットデバッガーを使用して32ビットコードをデバッグします。

どうした?ここでは、問題を分析するために64ビット拡張機能をロードしようとしています。32ビットWinDbgに64ビット拡張機能をロードすることはできません。問題は、32ビットバージョンのSOSが64ビット分析をサポートしているかどうかです。WinDbgに32ビットSOSを使用させることはできますか?

を使用して、特定のバージョンのSOSを強制的にロードできます。

http://msdn.microsoft.com/en-us/library/bb190764.aspxに従って.load

ただし、32ビットバージョンは64ビットプロセスの分析には機能しないと思いますが、これは試していません。

于 2011-09-12T23:45:16.990 に答える