6

ac#アプリケーションのソースコードでWinDbgを使用してブレークポイントを設定しようとしましたが、機能しませんでした。WinDbgを使用するときに、管理対象アプリケーションのソースコードにブレークポイントを設定する方法はありますか?

再現手順は次のとおりです。

1.簡単なc#アプリケーションを作成します

class Proram
{
  static void MyWrite(){
      Console.WriteLine("test");
  }
  static void Main(string[] args){
      Console.ReadLine();
      MyWrite();
  }
 }

2. WinDbgから.NETアプリケーションを起動します
3.そのソースファイルをWinDbgで開きます
4.実行を中断します(アプリがReadLine()にある間)
5。シンボルパスを設定し、sos.dllをロードします6. Console.WriteLine(
にブレークポイントを設定します「テスト」) F9を使用
7.「g」コマンドを
実行8.エラーが発生しました

Unable to insert breakpoint 0 at <address>, Win32 error 0x998 
     "Invalid access to memory location."
bp0 at <address> failed
WaitForEvent failed

私はアプリのプライベートシンボルを持っているので、これはシンボル関連の問題ではないと思います。

4

2 に答える 2

2

試す:

0:000> sxe ld clrjit.dll

ModLoad: 72ea0000 72f1d000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll

0:000> .loadby sos clr

0:000> !bpmd SslStreamTest.exe SslStreamTest.Program.Main

Found 1 methods in module 00bb2edc…
于 2015-06-07T17:44:57.133 に答える
1

!sosex.mbpを使用します。たとえば、myapp.csで中断するには、10行目:!mbp myapp.cs 10

sosexはhttp://www.stevestechspot.comから無料でダウンロードできます。

于 2012-07-13T01:52:23.120 に答える