W programistycznej karierze przychodzi w końcu taki moment, w którym musimy zmierzyć się z wyjątkowo trudnym do zdiagnozowania błędem. Moją piętą achillesową okazał się bug, z którym walczyłem półtora tygodnia i poległem; dopiero moi koledzy, którzy zaczęli mozolnie komentować duże partie kodu, dotarli do źródła problemu. W niniejszym artykule przedstawię zbiór mniej lub bardziej zaawansowanych i niekonwencjonalnych technik debugowania.
Zagadnienia poruszane w tym artykule:
- Kłopoty z pamięcią;
- Logowanie;
- Gotowa biblioteka;
- OutputDebugString i DbgView;
- Przeglądanie logów;
- Niestandardowe wizualizowanie logów;
- Proces debugowania;
- Runtime Flow;
- Attach to process;
- Remote debugging;
- Edit and Continue;
- Debugowanie UI;
- Microsoft Inspect;
- Snoop;
- Event Viewer.
Artykuł pochodzi z magazynu Programista nr 105 (6/2022). Magazyn jest z przełomu listopada i grudnia 2022 roku. Szczegółowy spis treści wydania nr 105: https://programistamag.pl/programista-6-2022-105/
Autorem artykułu jest Wojciech Sura. Programuje 30 lat, z czego 15 komercyjnie; ma na koncie aplikacje desktopowe, webowe, mobilne i wbudowane – pisane w C#, C++, Javie, Delphi, PHP, JavaScript i w jeszcze kilku innych językach. w tej chwili pracuje jako architekt w firmie WSCAD, rozwijającej oprogramowanie nowej generacji CAD dla elektrotechników.