Czasami nasz kod nie działa i chcielibyśmy sprawdzić jak działa dokładnie funkcja dostarczona przez .NET Framework. Oczywiście domyślnie nie możemy tego zrobić – po kliknięciu Step Into, przejdziemy po prostu do kolejnej metody.
Poniższy opis dotyczy Visual Studio 2008, na którym testowałem i faktycznie działa to. Niestety wciąż mamy problemy z VS 2012 – w następnym wpisie postaram się dać jakiś update odnośnie 2012.
W VS mamy coś takiego jak source server oraz możemy również ściągnąć symbols files dla każdej biblioteki MS z publicznie dostępnego serwera. Przejdźmy więc do Tools->Options->Debugging->Generals i zaznaczmy :
1. Enable Source Server Support
2. Enable .NET Framework Source Code Stepping
Następnie przechodzimy do zakładki Symbols i zaznaczamy Microsoft Symbol Server:
Teraz możemy przetestować debugging. Napiszmy jakiś kod wywołujący funkcje z .NET Framework np.:
internal class Program { private static void Main(string[] args) { DateTime.Parse("text"); } }
Przekonamy się, że po prostu będziemy w stanie przejść do ciała tej funkcji.
No i jeszcze warto dodać symbolsource, dzięki temu bedziemy mogli debugować mnóstwo opensourcowych bibliotek.
Próbowałem w Visual Studio 2010 i niestety nie działa. Debugger nie wchodzi do ciała metody Parse() po prostu się “zwiesza”.