Как вы можете достичь того же уровня эффективности, используя GDB, как и визуальный отладчик? - PullRequest
20 голосов
/ 14 июня 2011

Я знаю, что это похоже на ересь, но я просто не понимаю, как использование gdb может быть более эффективным при ежедневном использовании отладки (не расширенная отладка дампов и журналов), чем визуальный отладчик.

Iродом из .Net (люблю окружающую среду, ненавижу менталитет) и за последние пару лет перешел на PHP & C ++.Сейчас я занимаюсь разработкой проекта на C ++ с использованием Eclipse и ненавижу, насколько тяжёл редактор, поэтому я перешел на Textmate.Но отладка так неудобна.Я использую gdb, но скучаю по визуальной отладке, которая намного проще и эффективнее.

И все же каждый говорит: научитесь правильно использовать gdb!Поэтому я спрашиваю: как мне правильно и эффективно использовать GDB?

Ответы [ 6 ]

6 голосов
/ 14 июня 2011

Вы можете использовать gdb с IDE, например KDevelop .Он имеет визуальный интерфейс, который помогает.
или GDB с Emacs . Он делает практически все, что могут делать графические отладчики, и с легкостью.

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

3 голосов
/ 14 июня 2011

Вы можете попробовать qt-creatror, ​​который также имеет приятный и простой визуальный интерфейс GDB.

2 голосов
/ 14 июня 2011

А как насчет DDD ?

1 голос
/ 15 июня 2011

Что касается меня, я всегда использую режим TUI GDB . Из руководства GDB:

Пользовательский интерфейс GDB Text (TUI) является интерфейс терминала, который использует библиотека проклятий, чтобы показать источник файл, сборка, вывод, программа регистры и команды GDB в отдельных текстовые окна. Режим TUI поддерживается только на платформах, где подходящая версия библиотеки curses есть в наличии.

Это приносит некоторую визуальную отладку в gdb, и мне этого достаточно. Я обычно запускаю gdb в обычном режиме командной строки, наблюдаю за обратными трассами и устанавливаю в нем точки останова. Когда я хочу посмотреть исходный код, я переключаюсь в режим TUI с привязкой клавиш C-x C-a и переключаюсь назад, например, на обратные пути. Это встроенная готовая функция GDB. Вам не нужно никакого дополнительного программного обеспечения, такого как KDevelop или Emacs, чтобы использовать его.

0 голосов
/ 14 июня 2011

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

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

0 голосов
/ 14 июня 2011

Я использую NetBeans для C ++.Он интегрируется с GDB и дает вам визуальную отладку.Это не так хорошо, как Visual Studio, но это близко.Это чище и легче, чем Eclipse.Однако было непросто настроить все на Windows.Я могу предоставить некоторые указатели там, если они вам нужны

...