Есть ли альтернатива gdb для систем Linux?
Пожалуйста, рассмотрите как коммерческие, так и бесплатные отладчики. Хотелось бы увидеть также плюсы и минусы для каждого.
11 ответов
Мне очень нравится EDB (отладчик Эвана).
У него приятное ощущение OllyDBG, и это было здорово, потому что я использовал его довольно много, когда все еще работал на платформе Windows.
EDB (Evan's Debugger) - это отладчик бинарного режима на основе QT4 с целью обеспечения удобства использования наравне с OllyDbg. Он использует архитектуру плагинов, поэтому добавление новых функций может быть сделано с легкостью. Текущий выпуск предназначен для Linux, но будущие выпуски будут ориентированы на большее количество платформ.
http://www.softpedia.com/screenshots/thumbs/EDB-Evan-s-Debugger-19734-thumb.png
(Кликабельно)
nemiver - отличный интерфейс для gdb (выглядит лучше, чем ddd imo, даже если он еще не настолько продвинут).
В Linux большая часть отладки выполняется через GDB. Однако, как уже упоминали другие, нет необходимости использовать GDB напрямую. Существуют различные варианты, некоторые из которых упоминались в предыдущих ответах:
- Emacs (имеет внешний интерфейс GDB)
- DDD (основанный на мотивах, несколько необычный графический интерфейс с отличными возможностями проверки данных)
- Nemiver (интерфейс на базе GTK)
- Затмение
- Code:: Blocks
- NetBeans, вероятно, может сделать это также
- Анюта (Gnome IDE)
Из них я использовал DDD и попробовал Nemiver. В то время у Nemiver было мало возможностей, и поэтому он не очень хорошо работал для меня. Это было два года назад. Я часто использовал DDD и считаю, что его просмотр данных превосходен и стоит работать с его пользовательским интерфейсом. Я также часто просто использую GDB из командной строки.
Здесь можно пойти по карьерной лестнице, но если у вас есть возможность использовать MDB Sun, особенно если вы используете много шаблонов и многопоточный код. Это лучше, чем GDB, если это ваша ситуация. С другой стороны, это не так здорово, если все, что вам нужно, это точки останова, в этом случае я бы придерживался GDB.
Один очень хороший интерфейс для GDB, о котором я не упомянул, это Insight.
UndoDB звучит интересно тем, что позволяет осуществлять обратный шаг. Тем не менее, это дорого, и я хорошо приспособлен к GDB, поэтому я вряд ли изменится. Другие, которых я видел, не имеют дополнительных функций, необходимых для того, чтобы выманить меня из моего известного окружения.