2009-08-27 8 views
1

私はWinDbgの初心者で、64ビットWindows 2008 ServerのWER ReportQueueフォルダからこのダンプを取得しました。 ダンプを調べて、Windows用デバッグツールパッケージをインストールした開発マシンで、ダンプを実行する必要があります。WinDbgで32ビットマシンの64ビットダンプで失われました

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. 

私のマシンは明らかにFramework64フォルダを持っていない32ビット版のWindows 7を実行している:私はSOSをロードしようとすると は私が前に見たことがない、次のエラーを得ました。

私は正しい方向に私を向ける助言が必要です。 32ビットマシン上の64ビットプロセスからダンプを調べたい場合は、何をする必要がありますか?これは可能ですか?

事前に大きな感謝!

答えて

12

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

+0

Windbgは、リモートデバッグを強力にサポートしています。http://msdn.microsoft.com/en-us/library/ff554416(v=VS.85).aspxダンプを64ビットマシンにロードしてから、32ビットマシンをクライアントとして使用します。 – LanceSc

3

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

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

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

ライブカーネルモードのデバッグを実行している場合、およびターゲットコンピュータがWindows XP以降を実行している場合Windowsのバージョンでは、32ビットパッケージまたはx64パッケージのいずれかを使用できます。

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

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

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

あなたは、私が32ビット版は、64ビットプロセスを分析するために動作しないでしょう期待しかしhttp://msdn.microsoft.com/en-us/library/bb190764.aspx

あたりとして

.LOADを使用してロードするためにSOSの特定のバージョンを強制することができ、避難所しかし、これを試しました。