Улучшения в отладчиках? - PullRequest
       1

Улучшения в отладчиках?

3 голосов
/ 10 сентября 2010

Были ли какие-либо улучшения в отладчиках за последние 20 лет или около того?Когда я запускаю pdb, я чувствую, что ничего не изменилось.Я что-то упускаю?

Какие нововведения, в частности, были добавлены в отладчики в последние годы?

Ответы [ 4 ]

2 голосов
/ 17 сентября 2010

Визуализация отладчика в Visual Studio - это огромное преимущество производительности, особенно при работе с C # или C ++ STL. Он также имеет средства предварительного просмотра для блочного текста, HTML, XML и даже DataSets. Поддержка STL показывает векторы, карты, наборы и списки.

В VS2010 также значительно улучшена поддержка многопоточности с параллельными вызовами .

Когда мне приходится отлаживать в Xcode или с помощью gdb, я чувствую, что меня утащили обратно в темные времена (Xcode даже половину времени не будет показывать локальные переменные надежно, а выводить строки юникода для показа - кошмар)

1 голос
/ 10 сентября 2010

Visual Studio добавил IntelliTrace

Это позволяет вам перематывать ваше приложение и просматривать исторически значение переменных, а не только текущее состояние вашего приложения.

1 голос
/ 17 сентября 2010

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

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

  • http://en.wikipedia.org/wiki/Valgrind - Если вы подозреваете какую-то проблему, связанную с памятью, вы, вероятно, не начнете проходить код с помощью отладчика.
  • http://www.kernel.org/pub/software/scm/git/docs/git-bisect.html - если в вашем коде есть регрессия, пошаговое выполнение отладчика не будет таким полезным, пока вы не узнаете, какой код вызвал регрессию. Инструменты, помогающие сузить код, быстро экономят много времени и, возможно, быстрее, чем традиционный отладчик.
  • http://logging.apache.org/log4j/1.2/ - Трассировка может быть старой школой, но люди создают всевозможные инструменты анализа для своих журналов. Делая анализ, вы можете обнаружить ошибки, которые не очевидны. Например, выполнение кода с помощью обычного отладчика не означает, что 90% ваших пользователей не находят кнопку «Оформить заказ» в своей корзине. Но базовый анализ данных может помочь найти все виды ошибок, которых не найдут другие отладчики.

Конечно, есть еще несколько основных инструментов, которые помогают отлаживать очень специфические проблемы: профилировщики, анализаторы сетевого трафика (WireShark, HTTPFox), многие инструменты SysInternals и даже /proc.

1 голос
/ 10 сентября 2010

Есть много - как и в любой другой области разработки программного обеспечения.Хорошим примером является reverse-* набор gdb команд, которые были добавлены в gdb еще в 2009 году.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...