2012-07-12 13 views
5

Ho provato a impostare un punto di interruzione utilizzando WinDbg su un codice sorgente di un'applicazione C#, ma non ha funzionato. C'è un modo per impostare un punto di interruzione su un codice sorgente dell'applicazione gestita quando utilizzo WinDbg?Posso impostare un punto di interruzione su un codice sorgente dell'applicazione gestita quando utilizzo WinDbg?

Repro passo è il seguito:

1.Make una semplice C# applicazione

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

2.Avviare l'applicazione .NET da WinDbg
3.Open suo file sorgente in WinDbg
4 .Break esecuzione (mentre l'app in ReadLine())
5.Setup percorso simbolo e caricamento sos.dll
6.Impostare un punto di interruzione su Console.WriteLine ("test") usando F9
7.Execute comando "g"
8.Error verificato

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

ho simbolo privata della app, quindi non credo che questo sia un problema relativo ai simboli.

risposta

1

Utilizzare! Sosex.mbp. Ad esempio, per rompere in myapp.cs, linea 10: MBP myapp.cs 10

È possibile scaricare gratuitamente dal sosex http://www.stevestechspot.com

1

Prova:

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… 
Problemi correlati