Myślisz, że zarabiasz tyle, na ile zasługujesz? Zapraszamy do wzięcia udziału w anonimowej ankiecie.
2

1

Czasami przydaje się zajrzeć do kodu .NET Frameworka, żeby zrozumieć jak działa w środku. Doskonale do tego nadaje się .NET Reflector. Jednak nic nie pozwala zrozumieć lepiej działania kodu jak przejście przez niego debuggerem.

Czy jest jakiś sposób na wejście debuggerem w kod klas samego .NET Frameworka?

flag

3 Answers

5

Otóż okazuje się, że taki sposób jest. Nie było to dla mnie oczywiste, więc może i nie jest oczywiste dla innych. Dlatego też sam sobie odpowiem na to pytanie :)

  1. Stwórz dowolną aplikację, np.: aplikację Windows Forms.
  2. Wejdź w aplikację pod debuggerem (F10 - Step Over).
  3. Jeśli jeszcze nie masz na widoku, pokaż okno modułów (Menu Debug > Windows > Modules).
  4. W okienku listy modułów znajdź moduł (assembly), który chcesz debugować, naciśnij prawy przycisk myszy i wybierz: Load Symbols From > Microsoft Symbol Servers.
  5. Poczekaj aż ściągną się "symbole do debugowania", czyli w przypadku .NET kod źródłowy klas, wraz z komentarzami.
  6. Zaakceptuj licencję.
  7. Debuguj metody .NET Frameworka do woli, przy użyciu Step Into (F11).
link|flag
2

Pod tym adresem jest także szczegłówa instrukcja plus dodatkowo konfiguracja trochę bardziej zaawansowana + FAQ ale za to po angielsku.

link|flag
0

Poproszę jeszcze o opisanie jak wyłączyć debugowanie klas frameworka.

Na stronie msdn.microsoft.com/... widnieje zapis że pod prawym klawiszem powinno być 'unload' jednak nie mogę tego znaleźć. Środowisko Visual Studio 2008 Professional.

Ustawiając symbole sposobem Marcina Seredyńskiego w opcjach Visual Studio w zakładce Debug widnieje zapis, że informacje o symbolach są przechowywane w katalogu Temp systemu. U mnie udało się usunąć ten wpis i chyba jest ok.

Sposób przedstawiony przez PawelLukasik daje lepszy wgląd w co gdzie i jak i w ten sposób chyba można lepiej zarządzać ładowanymi symbolami.

Proszę jednak o potwierdzenie czy tak trzeba tym zarządzać.

link|flag
W menu: Tools > Options, następnie: Debugging > General > zaznaczyć Enable Just My Code (Managed Only). O to chodziło? – vigrid Jan 14 at 10:31

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.