Рекомендуемая литература по общим методам отладки

Что бы вы порекомендовали прочитать об общих методах отладки? Меня больше интересуют принципы и лучшие практики, чем конкретные платформенные решения. Для справки, я в основном работаю с .NET (F#, C#) и балуюсь Haskell и Ocaml.

В один из пятничных вечеров по дороге домой мы с моим коллегой говорили об отладке. Я был удивлен, узнав, что можно просматривать и изменять состояние живых объектов из отладчика VisualStudio. Он также упомянул, что другой разработчик, которого он знал, «Java-гуру», однажды показал ему некоторую магию отладки и дал статью или брошюру по отладке, которая бросила вызов первоначальному мнению моего коллеги «в этом нет ничего». Потратив больше времени, чем хотелось бы, на охоту за жуками, я тоже готов принять вызов. Есть ли ссылки, которые вы могли бы порекомендовать?


person Community    schedule 12.09.2009    source источник


Ответы (7)


Я изучил много книг и мыслей по отладке. Вероятно, лучший из них — «Отладка путем мышления». Я думаю, что он охватывает все, что нужно сказать, в логической форме, в легко читаемой упаковке.

person Paul Nathan    schedule 12.09.2009

Я рекомендую прочитать все, что вы можете найти в разделе Разработка через тестирование (TDD). Из статьи в Википедии:

Программисты, использующие чистый TDD в новых ("с нуля") проектах, сообщают, что они очень редко чувствуют необходимость запускать отладчик.

С личной точки зрения, по моему опыту, чем больше модульных тестов я пишу, тем меньше времени провожу в отладчике.

В частности, для .NET есть хорошая статья о упрощенной отладке с помощью Атрибуты.

person TrueWill    schedule 12.09.2009

Я настоятельно рекомендую прекрасную книгу Дэвида Аганса Debugging. .

Хотя это не относится конкретно к программированию, принципы универсальны. Один из описанных здесь методов обеспечил самый большой квантовый скачок в моих диагностических возможностях, а именно отказ от вашего исправления, чтобы доказать, что только ваше исправление устранило проблему.

person Rob Wells    schedule 12.09.2009


Мне нравится Яна Тейлора.

person Jonathan Graehl    schedule 12.09.2009

Блог Тесс Феррандес Если что-то не так, исправьте, что вам нужно, имеет прямое отношение к конкретным реальные сценарии, с которыми вы, вероятно, столкнетесь при отладке .Net (обычно с использованием ASP.Net) и, в более общем плане, наводящие на размышления.

Джон Роббинс по отладке книг и блог также стоит прочитать.

Блог Майка Столла по отладке .Net.

Замечателен блог Марка Руссиновича — его знание внутренние устройства Windows в сочетании с большим опытом криминалистики впечатляют.

person Dan Blanchard    schedule 12.09.2009

Мое первое знакомство с отладкой было этим руководством. Он использует GDB для отладки примера кода C++, но принципы в целом применимы. Что мне действительно нравится, так это то, как автор объясняет ход своих мыслей о том, что может быть не так, а затем конкретные команды, необходимые для проверки возможностей. Это довольно весело! Если вы новичок в отладке, это отличное понимание процесса.

person ire_and_curses    schedule 12.09.2009