例外が発生したときに、パラメーターを使用して .NET アプリケーションのミニ ダンプを作成しました。
MiniDumpNormal | MiniDumpWithProcessThreadData | MiniDumpWithThreadInfo | MiniDumpWithUnloadedModules
これは、マネージ コールスタックを抽出するために必要です (最小の MIDUMP_TYPE から、.net コンポーネントをホストするネイティブ C++ プロセスをダンプして、 windbg で !clrstack を使用できるように設定されています)。ここで説明されているように、ミニ ダンプの生成は例外フィルターで実行されます。
!dumpstack
WinDBG でクラッシュ ダンプを実行すると、次のようなものが表示されます。
ChildEBP RetAddr Caller,Callee
...
001dccc0 09b301a3 (MethodDesc 0x274268c +0x133 MyNameSpace.ErrorObject.FaultyMethod(Int32))
...
私が間違っていなければ、これはメソッド FaultyMethod のオフセット 0x133 でエラーが生成されたことを意味します。ここで、0x133 は JIT コンパイル済みマシン コードのオフセットです。
このオフセットをソース コードまたは IL 行番号に変換して、例外の原因となった命令を特定するにはどうすればよいですか?