Какой отладчик Linux C / C ++ (или интерфейс для gdb) лучше всего подходит для обучения программированию? [закрыто]


106

Я преподаю своего рода «облегченный» курс программирования на C ++ для новичков («облегченный» означает отсутствие указателей, никаких классов, только простой старый C, плюс ссылки, строки и векторы STL). У студентов нет предыдущего опыта программирования, поэтому я считаю, что использование интерактивного отладчика поможет им понять ход программы, переменные и рекурсию.

Курс преподается в Linux. Учить их использовать gdb - это просто излишне (они не будут использовать и понимать большинство функций). Мне просто нужно что-то простое, но легкое в использовании: посмотреть, в какой строке сейчас находится программа, что находится в стеке (локальные переменные, предыдущие вызовы и т. Д.). Я выгляжу чем-то похожим на старый отладчик Turbo Pascal или Turbo C ++ Borland или отладчик Visual Studio.

Спасибо,


4
Я не понимаю, как преподавать C ++ без уроков. Но я осознаю усилия ... Я имею в виду преподавание :-)
— m-ric

1
C / C ++ мне не кажется хорошим вариантом для новичков ...
— Хайме Хаблутцель

Ответы:


36

ddd - это довольно приятный графический интерфейс для gdb. Один из недостатков - классический интерфейс X, но я припоминаю его довольно интуитивно понятный.


2
DDD действительно отличный интерфейс. Раньше я преподавал C ++. Мои ученики никогда не могли понять, как использовать gdb, но после того, как они показали им краткий обзор ddd (только самые основы и посоветовали им компилировать с помощью -g), они быстро стали намного более опытными в отладке своего кода и понимании того, что произошло. Пользовательский интерфейс может выглядеть «старым и устаревшим», но зачем исправлять то, что явно работает?
— wasatz

43
У ddd один из самых уродливых интерфейсов, которые я когда-либо видел imgur.com/UFTBjnW
— ubershmekel

3
хотя я много использовал ddd для C, он плохо поддерживает векторы и std :: things в целом. Он также регулярно требует, чтобы я указывал искаженное имя чего-либо для установки точки останова. Я бы не рекомендовал его студентам, делающим первые шаги на C ++.
— PypeBros

1
DDD отлично подходит для проверки структур данных, потому что вы можете разложить их на большом столе и увидеть, как они указывают друг на друга и так далее. Но это правда, что это полезно только для данных в стиле C (без STL, везде указатели).
— Роман Плашил

1
Этой штуке примерно 17 лет.
— Рольф

25

Вы можете попробовать использовать Insight, графический интерфейс для gdb, написанный Red Hat. Если вы используете среду рабочего стола GNOME, вы также можете попробовать Nemiver .


4
Insight такой классный, но он был удален из Debian, и я не могу установить его на свой Linux ... Я не знаю, кто виноват, но он вошел в мой список смертельных врагов, и если я столкнусь с ним, он столкнется с моим гневом! Любой-кто; Есть еще способ , чтобы он работает , но интерфейс немного зажмуренный: baptiste-wicht.com/2012/01/...
— MasterMastic

@SamuelLampa apt-get install nemiver
— Нарек Бабаджанян

@MasterMastic, я думаю, он был удален, потому что его никто не поддерживал. Не волнуйтесь, вы можете взять это на себя!
— Эндрюш

16

Вы можете попробовать Eclipse CDT. Он предоставляет IDE C / C ++, который работает на нескольких платформах (например, Windows, Linux, Mac OS X и т. Д.). Отладка с помощью Eclipse CDT сравнима с использованием других инструментов, таких как Visual Studio.

Вы можете ознакомиться с учебным курсом по отладке Eclipse CDT, в котором также есть несколько снимков экрана.


14
Чувак, студентам понадобятся недели, чтобы просто выучить Eclipse.
— MrFox

14
-1 за рекомендацию Eclipse
— Celeritas

7
Не буду -1 балл, но IDE - отстой.
— ovrwngtvity

2
И если вы так много жалуетесь, что вы порекомендуете? code :: blocks, который не обновляется уже 3 года?
— JohnJohn

3
Eclipse отлично подходит для Java, но довольно плохо для C / C ++ ...

14

Qt Creator , помимо других полезных свойств, также имеет хорошую интеграцию отладчика для CDB, GDB и отладчика Symnbian на всех поддерживаемых платформах. Вам не нужно использовать Qt для использования Qt Creator IDE, и вам не нужно использовать QMake - он также имеет интеграцию с CMake, хотя QMake очень прост в использовании.

Возможно, вы захотите использовать Qt Creator в качестве IDE для обучения программированию, считая, что у него есть несколько хороших функций:

  • Очень умный и продвинутый редактор C ++
  • Инструменты управления проектами и сборками
  • Интеграция QMake и CMake
  • Интегрированная контекстно-зависимая справочная система
  • Отличный визуальный отладчик (CDB, GDB и Symbian)
  • Поддерживает GCC и VC ++
  • Инструменты быстрой навигации по коду
  • Поддерживает Windows, Linux и Mac OS X

Поддерживает ли он отладку небольших программ, у которых нет файлов проекта? Я помню, как использовал его в своей более крупной программе, но первая установка была довольно болезненной, хотя IDE очень хороша.
— syockit 08

12

Возможно, это косвенно связано с gdb (потому что это IDE), но мои рекомендации были бы KDevelop . Будучи довольно избалованным отладчиком Visual Studio (профессионально на работе много лет), я до сих пор чувствовал себя наиболее комфортно отладки в KDevelop (как хобби дома, потому что я не мог позволить себе Visual Studio для личного использования - пока не вышла Express Edition. ). По сравнению с другими IDE, с которыми я экспериментировал (включая Eclipse CDT), он "выглядит чем-то похожим на" Visual Studio, когда дело доходит до отладки пошаговой, пошаговой и т.д. (размещение точек останова немного неудобно, потому что я не Мне нравится слишком много использовать мышь при кодировании, но это несложно).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.