Zwykle nie używam debugera, może raz na kilka tygodni, ale nie jest to pierwsza rzecz, do której chodzę.
Najważniejsze narzędzie w mojej pracy jest tak wszechobecne, że prawie zapomniałem o tym wspomnieć - ślady stosu. Ponad 90% napotkanych problemów można rozwiązać, badając ślad stosu. To narzędzie nie zawsze jest bardzo pomocne w zależności od języka, ale jeśli są one dobrze wdrożone przez język, mogą zaoszczędzić niesamowitą ilość czasu.
Wydaje mi się, że drugim najczęstszym sposobem wykrywania prostych problemów jest prawdopodobnie właśnie zmodyfikowany kod. Często przeprowadzam testy jednostkowe, więc ogólnie wiem, co właśnie złamałem.
W celu bardziej złożonego programowania i debugowania mogę dodać pewne instrukcje dziennika debugowania lub śledzenia. Uważam, że problemy z programowaniem są dobrym przewodnikiem, który pomaga mi umieścić informacje dotyczące śledzenia produkcji / debugowania, co prowadzi mnie do:
Nie zawsze masz pod ręką debugger. W środowisku produkcyjnym uruchomienie debuggera może być niemożliwe (Heck, dostęp do maszyn produkcyjnych może być niemożliwy, z wyjątkiem dzienników, w zależności od bezpieczeństwa firmy). Istnieją również języki, w których podłączenie debugera trwa zbyt długo lub może nie są dostępne dobre debuggery.
Jeśli cały czas kodowałeś za pomocą logiki i rejestrowania na poziomie debugowania / śledzenia, może to być po prostu sprawdzenie doskonałych instrukcji dziennika (możliwe zwiększenie poziomu dziennika) w celu wykrycia problemu bez dostępu do sprzętu.
Chociaż uważam, że debugery to potężne narzędzie, nie pozwól, aby były jedynym narzędziem w twoim zestawie narzędzi!