Linux: самые мощные отладчики - PullRequest
4 голосов
/ 26 ноября 2010

Привет, я хотел знать, какие из лучших отладчиков C / C ++ существуют в операционной системе Linux. Я слышал, что GDB и valgrind довольно хороши, но я хотел услышать мнения / сравнения по ним.

Спасибо

Ответы [ 6 ]

6 голосов
/ 26 ноября 2010

GDB, вероятно, является лучшим, на мой взгляд.

  • GDB : отладчик GNU
  • DDD : отладчик отображения данных, графический интерфейс отладчика
  • Nemiver : автономный графический отладчик для GNOME

Отладчики памяти:

  • Valgrind : отладчик и профилировщик памяти
  • Электрический забор : отладчик malloc
  • D.U.M.A : обнаружение непреднамеренного доступа к памяти - распределитель памяти в красной зоне

Источник

3 голосов
/ 01 октября 2012

Существует также EDB , который включен в BackTrack 5. Хотя он больше ориентирован на разворот.

1 голос
/ 03 января 2013

См. Также UndoDB http://undo -software.com /

Он расположен под GDB и значительно расширяет возможности обратимой отладки GDB (например, повреждение памяти? Установите точку наблюдения в неправильном месте памяти, а затем выполните обратное продолжение, чтобы перейти к последнему куску кода для обновления этой памяти).

1 голос
/ 27 ноября 2010

Eclipse имеет хорошую интегрированную среду отладки.Это графическая оболочка над GDB - так вы получаете мощь GDB с интерфейсом, более похожим на Xcode или Visual Studio.

Поскольку «GDB» является единственным «настоящим отладчиком» - (и думает, что «DDD»"Обертки над этим) - Eclipse, это, вероятно, тот отладчик и IDE, которые вы ищете.

1 голос
/ 26 ноября 2010

Я думаю, что я прав, говоря, что все отладчики уровня исходного кода C ++, обычно используемые в Linux, являются либо gdb, либо обертками вокруг gdb.По крайней мере, если вы не используете не-gnu toolchain.

Valgrind не является отладчиком.Это инструмент динамического анализа поведения, который можно использовать для обнаружения определенных типов неправильного поведения, которые обычно являются ошибками, но, конечно, НЕ для тех вещей, для которых вы обычно используете отладчик;вы не можете пошагово проходить через код или проверять переменные и т. д. Вы не можете использовать Valgrind для обнаружения большинства типов логических ошибок.

Я не думаю, что Valgrind когда-либо утверждал, что является отладчиком.

0 голосов
/ 28 ноября 2010

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

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