Zaawansowanie debugowanie w .NET

LICZBA DNI: 3 (24h)

KOD KURSU: NET/DBG

# c#

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne WYŁĄCZNIE na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin

Interesuje Cię ta tematyka i szukasz szkolenia tylko dla siebie?

O szkoleniu

DLA KOGO?

Szkolenie adresowane do programistów chcących szybciej i lepiej diagnozować błędy w swoich aplikacjach.

WYMAGANIA

Doświadczenie w pracy z Visual Studio, znajomości .NET Framework na poziomie co najmniej średnio-zaawansowanym.

ZALETY

Duży nacisk położony został na praktyczną stronę szkolenia, dlatego teoria prezentowana podczas wykładu zostanie poparta przykładami z życia.

Cele szkolenia

Zapoznanie uczestników z różnymi formami debugowania i profilowania aplikacji .NET.

Rozwinięcie wiedzy związanej z wewnętrznymi mechanizmami rządzącymi frameworkiem i systemem operacyjnym, dzięki zróżnicowaniu problemów rozwiązywanych podczas szkolenia.

Nauka odpowieniej konfiguracji Visual Studio (zaawansowane opcje debuggera, kontrola rozwiązywania symboli, widoki dostępne w debuggerze).

Omówienie problemów, do rozwiązania których VS często już nie wystarcza lub jego użycie jest niemożliwe (np. w środowisku produkcyjnym).

Poznanie darmowych narzędzi diagnostycznych, umożliwiających spojrzenie na .NET-we środowisko z perspektywy "świata natywnego" (WinDbg: SOS, SOSEX) i przeanalizujemy jego wewnętrzne struktury (np. Garbage Collector).

Zmierzenie się z problemami, m.in.: wycieki pamięci – zarządzanej i natywnej, zakleszczenia (deadlocks) i inne błędy aplikacji wielowątkowych, wysokie użycie CPU, "połykanie wyjątków".

Program

  • Co nam daje VS debugger?
    • omówienie konfiguracji debuggera
    • ustawianie breakpointów/tracepointów
    • analiza wyjątków (1st chance, 2nd chance)
    • debugowanie kodu współbieżnego (paraller stacks, threads, paraller tasks)
    • badanie działania GC (object pinning, praca z dumpami, analizy pamięci w VS 2013)
  • Profiler vs. debugger i profilery dostępne w VS
  • IntelliTrace
  • Zbieranie danych na produkcji
  • Debugger natywny (Windbg)
    • spojrzenie na .NET z perspektywy systemu operacyjnego
    • kiedy należy sięgnąć po debugger natywny?
    • zapoznanie z SOS i prezentacja przydatnych komend w przykładowej aplikacji
  • Perfview
    • kiedy i jak używać perfview?
    • Perfview w diagnostyce CPU
    • Perfview w diagnostyce wycieków pamięci i pracy GC3
  • Diagnostyka aplikacji wielowątkowych (deadlocks, unsafe-threading)
  • Diagnostyka "wyjątkowych" wyjątków (czyli wyciąganie informacji o pierwotnej przyczynie błędów)
  • Diagnostyka wycieków pamięci (pamięć zarządzana i natywna)
  • Znajdywanie przyczyn wolnego działania aplikacji (CPU, IO)

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.