1

.NET Framework 4.0の32ビット環境でWinDbgのSOSEXを使用してC#アプリケーションをデバッグしようとしています。32ビットv4.0にはsosex.dllを使用しています。

手順は次のとおりです。

  1. sxe ld:mscorlib
  2. sxe ld:clrjit
  3. load sosex.dllへのパス
  4. !mbp application.cs 34(これにより、34行目にブレークポイントが設定されます)

ここでは問題なく動作します。

ただし、WinDbgを新しく起動し、C#application.exeプロセスに接続して必要な手順を実行すると、ブレークポイントが機能しません。

lm私が観察したことの1つは、WinDbgでコマンドを初めて実行したとき、出力には。のみが表示されたことapplication.exeです。

しかし、次回、lmコマンドはすでにロードされているすべてのモジュール(、、clrjitなどmscorlib)を表示しました

これがブレークポイントが機能しない理由ですか?

4

1 に答える 1

0

SOSEXの場合、上記の1.と2.は不要です。デバッガーからアプリケーションを起動すると、最初のブレークポイントから!mbmandを使用できます。!mbp

あなたの問題についてはapplication.cs、34行目に何がありますか? これはエントリ ポイント (メイン) ですか? コードが既に実行された後に中断しようとしているようです。ブレークしようとする試みからのすべてのデバッガーの噴出を添付してください。これは、問題の原因を特定するのに役立ちます。

于 2012-09-03T12:37:12.263 に答える