#50 Kraków Zaawansowane debugowanie aplikacji .NET w Windows
- Nieco wiedzy internalsowej o plikach wykonywalnych, symbolach, stosie i asemblerze
- Przydatne narzędzia pakietu Sysinternals
- Visual Studio 2017 - konfiguracja debuggera i zaawansowane techniki debugowania
- Wyjątki - obserwacja, tworzenie i analiza zrzutów pamięci, WER
- Diagnostyka wycieków - podstawy WinDbg, PerfView
Debugowanie często kojarzy nam się z nieprzyjemną koniecznością walki z błędem. Stąd debugger nie jest narzędziem, które dobrze wspominamy. Chciałbym na tych warsztatach pokazać Wam, że debugowanie może być zajęciem równie odkrywczym co programowanie. Posługując się debuggerem i różnymi narzędziami internalsowymi, poznamy lepiej system operacyjny Windows i mechanizmy rządzące wykonaniem naszych aplikacji. Następnie naprawimy kilka przykładowych błędów w aplikacjach .NETowych, stosując różne techniki diagnostyczne. Wiedza z warsztatów przyda Wam się nie tylko w rozwiązywaniu problemów na Waszym lokalnym komputerze, ale również w środowiskach produkcyjnych.
Wymagania:
- komputer z systemem Windows 7 albo nowszym
- zainstalowane Visual Studio 2017 w wersji Community lub bogatszej
- doświadczenie w programowaniu na platformę .NET
- zainstalowany pakiet startowy (dostaniecie go na ok. tydzień przed terminem warsztatów)
UWAGA:
Nie ma blokowania miejsc. Jeżeli nie wiesz czy będziesz mógł przyjść nie BLOKUJ miejsca. Niestety wiele razy zdarzyło się nam, że część osób nie przyszła na warsztaty lub zwalniała miejsce w dzień warsztatów (!). Nie możemy dopuścić do takich sytuacji, warsztaty mają formę bezpłatną, ale wymagamy w zamian szacunku i zaangażowania. Tym razem będziemy zwracać uwagę na tego typu zagrywki i następnym razem po prostu daną osobę rejestrującą się z miejsca wrzucimy na waiting list.
Prelegent:
Sebastian Solnica
Inżynier systemowy, z zamiłowaniem do grzebania w internalsach. Dużą radość sprawia mi odkrywanie mechanizmów działania aplikacji i systemu operacyjnego. A debugger i profiler to najlepsi pomocnicy w takich śledztwach. Od czasu do czasu publikuję moje "odkrycia" na blogu (https://lowleveldesign.org/) i Twitterze (https://twitter.com/lowleveldesign).