Отладка в Linux для Windows Developer - PullRequest
7 голосов
/ 14 апреля 2009

В основном я занимался разработкой базового программного обеспечения (для начинающих) на компьютере под управлением Windows, но у меня всегда была MS Visual Studio, чтобы помочь мне пройти через процесс отладки.

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

К сожалению, когда я устно спрашивал людей, как они отлаживают в Linux, я обычно получаю следующий ответ: «О, я просто положил кучу утверждений для печати». О, МОЙ БОГ! Ты не скажешь, но это их ответ.

Поскольку он работает в Linux и будет работать с кодом C ++ в 32-разрядной ОС CentOS, я надеюсь, что это предпочтительное решение OpenSource. Итак, я полагаю, что спрашивал о предпочтительной среде IDE OpenSource для кода C ++ в CentOS Linux.

Спасибо за любые идеи и предложения.

Ответы [ 10 ]

6 голосов
/ 14 апреля 2009

Несколько лет назад я перешел из VS в среду типа emacs / make, и я никогда не оглядывался назад.

Идея состоит в том, чтобы использовать make-файл для обработки части управления проектом в IDE, а я использую emacs + gdb для редактирования и отладки. Вам понадобится некоторое время, чтобы привыкнуть к emacs, но если вы будете придерживаться его, оно того стоит. Как только вы запустили emacs, нажмите «Ctrl + H», а затем «t», и вы попадете на страницу учебника.

После того, как вы освоите основы, вы можете отлаживать программу аналогично любому интерфейсу IDE / отладчика. Я должен признать, что даже после всего этого времени я все еще использую набор сопоставлений клавиш VS, которые я настраивал, когда впервые перешел на emacs!

(global-set-key [f7] 'compile)          ;; Run the compile command
(global-set-key [f4] 'next-error)       ;; The next compile error
(global-set-key [S-f4] 'previous-error) ;; The previous compile error
(global-set-key [f5] 'gdb)              ;; Start the debugger

Следующее устанавливает сопоставления клавиш "VS" для различных команд GDB, которые вы можете использовать:

(add-hook 'gud-mode-hook
  '(lambda ()
     (define-key (current-local-map)
       [f10]
       'gud-next)
     (define-key (current-local-map)
       [f11]
       'gud-step)
     (define-key (current-local-map)
       [\S-f11]
       'gud-finish)
     (define-key (current-local-map)
       [f5]
       'gud-cont)
))

Используя приведенные выше сопоставления клавиш, я нажимаю 'f5', что побуждает меня запустить gdb (и к этой команде я добавляю двоичный файл, который я хочу отладить). Как только GDB загружен, вы нажимаете «f5» для продолжения, «f10» для перехода, «f11» для перехода и «shirt + f11» для выхода.

Наконец, каждый раз, когда вы запускаете 'gdb', он будет читать файл с именем '.gdbinit' в вашем домашнем каталоге. У другого вопроса StackOverflow был этот ответ , который привлек мое внимание stl-views . stl-views - это набор вспомогательных функций для gdb, которые показывают содержимое различных типов контейнеров STL. Инструкции по его использованию можно найти в верхней части ссылки.

5 голосов
/ 14 апреля 2009

Я бы предложил использовать Eclipse

Eclipse - это зрелая среда разработки со множеством доступных возможностей поддержки.

Существует также Код :: Блоки , если вы хотите попробовать что-то другое

4 голосов
/ 14 апреля 2009
  • Затмение
  • * 1004 NetBeans *
  • KDevelop
2 голосов
/ 14 апреля 2009

Valgrind , ваш друг и может избавить вас от необходимости страдать, хотя GDB.

2 голосов
/ 14 апреля 2009

Всегда есть ГБД . XCode для OSX использует GDB внутри для отладки.

2 голосов
/ 14 апреля 2009

В основном, для IDE, аналогичной (?) VS - используйте Eclipse .

См. перенос проектов Microsoft VS в Eclipse C / C ++ Development Toolkit - краткая пошаговая процедура миграции проектов Microsoft Visual Studio C / C ++ (MSVC) в Eclipse. Он сравнивает и противопоставляет преимущества MSVC и Eclipse CDT.

1 голос
/ 15 апреля 2009

Если вы просто хотите хороший отладчик, посмотрите DDD .

1 голос
/ 14 апреля 2009

Anjuta - действительно отличная IDE для GNOME. Для отладки он использует GDB внутри.

0 голосов
/ 05 июля 2009

Я использую комбинацию gdb и cscope при отладке в Linux.

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