Я обычно не использую отладчик, возможно, раз в пару недель, но это не первое, на что я обращаюсь.
Самый важный инструмент в моей работе настолько повсеместен, что я почти забыл упомянуть об этом - следы стека. Более 90% проблем, с которыми я сталкиваюсь, могут быть решены путем изучения трассировки стека. Этот инструмент не всегда очень полезен в зависимости от вашего языка, но когда он хорошо реализован на языке, он может сэкономить вам огромное количество времени.
Я предполагаю, что второй наиболее распространенный способ обнаружения простых проблем - это, вероятно, код, который я только что изменил. Я часто запускаю юнит-тесты, поэтому я знаю, что только что сломал
Для более сложной разработки и отладки я мог бы добавить несколько операторов журнала уровня отладки или трассировки. Я считаю, что проблемы разработки - это хорошее руководство, которое поможет мне разместить информацию о трассировке и отладке, что приводит меня к:
Вы не всегда имеете под рукой отладчик. На производстве может оказаться невозможным запустить отладчик (черт возьми, доступ к рабочим машинам может быть невозможен, за исключением журналов в зависимости от того, насколько безопасна ваша компания). Есть также языки, в которых подключение отладчика занимает слишком много времени или, возможно, просто нет хороших отладчиков.
Если вы все время программировали, используя логику и ведение журнала уровня отладки / трассировки, это может быть просто случай проверки ваших превосходных операторов журнала (возможно, повышения уровня журнала), чтобы выяснить проблему, даже не обращаясь к оборудованию.
Хотя я думаю, что отладчики являются мощным инструментом, не позволяйте им быть единственным инструментом в вашем наборе инструментов!