1

WinDBG X86 6.12.0002.633 で分析したい Windows Mobile 6.5 ARMV4I で実行されている C# .NET CF 3.5 アプリケーションによって生成された事後分析 kdmp があります。

アンマネージ コールスタックを取得することはできますが、.net アプリケーションを使用していること以上のことはわかりません。

大きなウィンドウでは、SOS を使用して を実行できますが!clrstack、mscorwks.dll は CF によって読み込まれません。

17:362:armce> !clrstack
Failed to find runtime DLL (mscorwks.dll), 0x80004005
Extension commands need mscorwks.dll in order to have something to do.

コンパクト フレームワークによって生成されたダンプ ファイルを分析するには、どうすればよいですか?

ありがとう、ポールH

4

1 に答える 1

0

次の点を確認してください。

1 - フレームワークの正しいバージョンの SOS を正しくロードする

2.0 の場合 -> C:\windows\Microsoft.NET\Framework\v2.0.50727\sos.dll

4.0 の場合 -> C:\windows\Microsoft.NET\Framework\v4.0.30319\sos.dll

2 - ダンプが分析されるプロセスにロードされた sos の正しいバージョンを使用していることを確認してください。

.net 4.0 を使用するプロセスの場合、4.0 フレームワークの sos.dll をロードします。他のフレームワークにも同じことが適用されます。

したがって、エラーの原因として考えられるのは、分析中のプロセスに対して正しい sos.dll をロードしていないことです。

通常、SOS.dll をデバッガー ディレクトリにコピーし、名前を次のように変更します。

.NET 2.0 バージョンの SOS20.dll および .NET 4.0 の SOS40.dll

次に、次を使用してデバッガーにdllをロードします

.NET 2.0 で実行されているプロセスをデバッグする必要がある場合はSOS20.dllをロードするか、他のバージョン (.load SOS40.dll) をロードします。

于 2012-02-11T15:00:35.323 に答える