2009-07-30 7 views
31

Я разрабатываю c на linux с помощью vim и отладки с использованием ddd. Однако я обнаружил, что ddd работает очень плохо при прокрутке на этой машине, поэтому его иногда очень сложно использовать.Какая хорошая альтернатива Unix для DDD (отладчик отображения данных)?

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

Может ли кто-нибудь предложить достойную альтернативу ddd? Я не ищу IDE, просто достаточно хорошо реализованный gui-фасад для gdb, который является свободным программным обеспечением.

+0

Я пробовал Nemiver, но если вы нажмете кнопку «Стоп», появится диалоговое окно, в котором говорится: «Target получил сигнал: SIGINT, Interrupt», который вы обязаны щелкнуть. Это в значительной степени исключает этот интерфейс для меня. – frankster

+0

И подсказки занимают около 1/3 секунды слишком долго, чтобы всплывать, когда вы наводите указатель мыши на переменную, которую хотите просмотреть. – frankster

+0

Голосование, чтобы закрыть как инструмент rec. –

ответ

9
+0

Первые впечатления: пакет opensuse11 неисправен, а значок, который он устанавливает, не запускает приложение, но я могу запустить его себя от/opt/kde3/bin/kdbg. Прикрепление к процессу заставляет вас вводить номер процесса вместо поиска в списке процессов для процесса с тем же именем, что и только что загруженный вами двоичный файл. – frankster

+0

Переменный дисплей в KDbg хорош. – frankster

+0

, но, с другой стороны, кажется немного больным для просмотра значений выражений, таких как «Array [Index] .Struct.Member» – frankster

3

Вы могли бы: понимание - отладчик RedHat, основанный на БГД

Эти инструменты также ГИП:

Sun Studio Debugger

Я не использовал Sun Studio Debugger, но у него была собственная версия gvim и emacs, где вы могли бы установить точки останова, щелкнув рядом с исходным кодом.

Intel Debugger

И я думаю, что Eclipse, имеет интеграцию отладчика.

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

+0

в качестве дополнительной заметки, старая версия Sun Studio на Linux использовал gcc-компилятор с gdb. Я не знаю, совместима ли она, поскольку теперь они портировали свои компиляторы в Linux. – Juan

+0

Insight прикрепляется к окну процесса - глючит - коробка фильтра ничего не делает. Однако, по крайней мере, он создает список процессов, который является небольшим улучшением на kdbg. – frankster

+0

Выпадающее поле со списком функций для поиска в источнике - это приятное прикосновение. – frankster

2

вы могли бы попробовать xxgdb , но это очень старый, я даже не знаю, если он все еще поддерживаетс

2

К сожалению, я ничего, кроме GDB и DDD не пробовал, но есть list of GDB front-ends в Википедии, в том числе KDbg и xxgdb, как рекомендовано другими, но еще несколько. Возможно, один из них будет работать для вас, все еще давая вам возможность использовать команды GDB, когда захотите. В частности, в нем перечислены Clewn (я имею в виду, чтобы попробовать это), который использует GVim в качестве front-end, а также cgdb, который работает в терминале (с использованием ncurses), имеет ключи в стиле vi и отображает источник синтаксиса ,

4

Вы посмотрели интеграцию Emacs GDB? Это очень хорошо, как только вы выясните, как его использовать. Вот скриншот: http://p.blog.csdn.net/images/p_blog_csdn_net/ariesjzj/pic3.jpg.

В качестве альтернативы есть Eclipse. Это очень красиво, и кажется довольно всеобъемлющим, но я не использовал его много.

Несоблюдение этого, я просто использую GDB в режиме TUI (наберите «layout next» много раз, пока дисплей не будет выглядеть «красивее»).

Я действительно пропустил Visual Studio сейчас, когда я застрял в разработке для Linux и встроенных систем.

+0

aha Я не знал об этом режиме TUI gdb.Это не очень хорошо, но, конечно же, это в какой-то степени касается моей проблемы с gdb, не отображающей источник очень хорошо. – frankster

+0

Я просто набираю макет - это дает ошибку, но заканчивается самой полезной для меня компоновкой: D – frankster

+0

+1, потому что она работает в консоли. Поэтому я могу записывать свои сеансы с помощью ttyrec и делиться ими с byobu/screen. – matiu

7

Я использую Eclipse CDT в своей ежедневной базе, а также Visual Studio, и это очень хороший инструмент, такой же, как Visual Studio. Он использует всю инфраструктуру Eclipse для создания очень хорошего графического интерфейса gdb. Это похоже на отладку Java, но с C++.

Если вы не хотите создавать проекты eclipse только для отладки, потому что вы все еще хотите использовать vim в качестве редактора, вы можете знать, что Cmake имеет генератор проекта eclipse.Некоторые ссылки, которые могут помочь вам по этому вопросу: 1, 2, 3

+3

Собственно, вы можете определить сеанс gdb в Eclipse без проекта. Просто определите программу в диалоговом окне «Debug Configurations ...», возможно, используя выбор конфигурации «C/C++ Application». После заполнения записи «C/C++ Application:» и, возможно, вкладки «Аргументы», нажмите кнопки «Применить» и «Отладка», чтобы перейти в точку отладки. – ysap

+0

Не нужно бросать vim при использовании Eclipse. Я использую плагин Eclipse [Vrapper] (http://vrapper.sourceforge.net/home/), который дает разумное количество vi. –

4

Ну, я, как правило, используют либо cgdb, kgdb или DDD. (и поскольку вы не можете использовать ddd ...)

cgdb почти как обычный gdb, но он показывает код в разделенном окне выше.

2

Не сдавайтесь на DDD полностью. Я согласен с тем, что интерфейс нуждается в капитальном ремонте, но в 2007 году для ремонта GTK было несколько rumblings.

Также следите за this.

+0

Сегодня это не полезно (даже я даю вам +1 за то, что есть надежда на ddd;) – Johan

+0

Похоже, что они, возможно, были надеждой в 2009 году, но в 2016 году капитальный ремонт DDD выглядит довольно безнадежным .. – Atifm

 Смежные вопросы

  • Нет связанных вопросов^_^