[解決済み] WinDbgでSOSを読み込めない
質問
背景 私は WinDbg の初心者で、初めてそれを実行しようとしています。私は、Windows Server 2008 (x86)上のIIS 7でホストされている実行中のASP.NET 4サイトから取得し、私のローカルマシンにダウンロードしたメモリダンプを調査したいと思います。
をインストールしました。
デバッギング ツール
をインストールし、WinDbg を初めて起動し、クラッシュ ダンプを開きました。私は
ファイル|シンボル・ファイル・パス
に設定し、パスを
*srv*c:\symbols*http://msdl.microsoft.com/download/symbols*
に設定し、すべてのシンボルがロードされるのを待ちました。
SOSをロードしようとしたとき、問題にぶつかりました。まず、以下のコマンドを試してみました...。
.loadby sos mscorwks
...そして、次のような応答が返ってきました。
Unable to find module 'mscorwks'
.
Webを探し回った結果、以下のコマンドを実行してmscorwksをロードしてみたところ...。
sxe ld mscorwks.dll
g
...そして、quot;No runnable debuggees error in 'g'" という応答を受け取りました。
SOS.dll (from C:\WindowsMicrosoft.NETFrameworkv4.0.30319) をWinDbgディレクトリにコピーして、試してみました。
.load sos
...そしてエラーを受け取りました...
The call to LoadLibrary(sos) failed, Win32 error 0n193
"%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.
どうすればいいのかよくわからない。ただ、SOSをロードして、このダンプファイルを掘り下げたいだけなんです。どんな助けでも、非常に感謝されます。
参考までに...私は、64 ビット バージョンの Windows 7 で、64 ビット バージョンの Windbg を使用して、ダンプ ファイルを開こうとしています。
どのように解決するのですか?
CLR ランタイム dll の名前を変更し
clr.dll
そのため、正しいバージョンのSOSをロードするために、.NET 4で
.loadby
コマンドを調整する必要があります。すなわち
.loadby sos clr
また、64ビット版であれば、32ビット版の Windows 用デバッギング ツール の 32 ビット版もインストールしてください。これらは並行してインストールされるので、同じマシンに 32 ビット版と 64 ビット版の両方があっても問題はありません。
私は SOS.dll をコピーしないように助言します。SOS はフレームワークの正確なバージョンと一致する必要があるので、フレームワーク ディレクトリから
.loadby
を使用してフレームワークディレクトリからロードする限り、あなたはすべて設定されています。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン