Отладьте программу C++ в Linux

20
задан sashoalm 22 April 2016 в 08:21
поделиться

5 ответов

Можно использовать gdb для этого:

$ gdb hello

Это запустит gdb и предложит Вам то, что сделать затем. Эти next команда выполняет одну строку источника и остановок в следующей строке.

я нашел основное учебное руководство GDB, которое может быть полезно.

31
ответ дан 29 November 2019 в 22:54
поделиться

Не забывайте компилировать свой исходный код с помощью-g опцию. Как это: g++ -g helloWorld.cc Это собирается создать a.out исполняемый файл. Вы сможете отладить свой a.out exe использование gdb ./a.out команда. Другой инструмент, который можно использовать, это ddd в основном GUI для gdb.

Удача

17
ответ дан 29 November 2019 в 22:54
поделиться

В ходе Программирования на C++ я сделал в Швеции была часть лаборатории об Отладчике GNU. Я никогда не использовал его после, но здесь существует статья, объясняя основное использование, насколько я помню, находится в главе 2.

3
ответ дан 29 November 2019 в 22:54
поделиться

Я всегда думал , emacs предоставил довольно удобный для пользователя фронтенд gdb...

, Например,

  • % g ++ hello.cc-g-o привет
  • emacs hello.cc
  • [ В Emacs] gdb
  • Emacs Escape-x скажет "Выполненный gdb (как это): gdb".
  • Добавляют Ваше двоичное имя ("привет"). (Например, "Выполненный gdb (как это): gdb привет".)
  • Переходят к Вашему буферу hello.cc.
  • Использование emacs управляют, чтобы 'gud-повреждение' установило точку останова в gdb от Вашего буфера hello.cc. (Обычно связанный с "пространством C-x".)
  • Переходят к Вашему *gud-привет* буфер.
  • Тип, "выполненный" в (gdb) подсказка.
  • Использование [ N] Затем или [ S] Шаг. Или [ C] Продолжаются. [ BT] След также полезен.
  • Примечание, что происходит с небольшим треугольником в крайнем левом столбце Вашего буфера hello.cc.

(Который должен быть достаточным для запущения Вас. Так как Emacs emacs, всегда существует больше функций...)

6
ответ дан 29 November 2019 в 22:54
поделиться

Если Вы хотите некоторый удобный для пользователя отладчик, можно использовать Kdbg, который является в основном gdb frontend для KDE. Возможно, не столь мощный как ddd, но легче запуститься с.

3
ответ дан 29 November 2019 в 22:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: