Какой отладчик 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, но я припоминаю его довольно интуитивно понятный.

jbleners
источник
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, когда дело доходит до отладки пошаговой, пошаговой и т.д. (размещение точек останова немного неудобно, потому что я не Мне нравится слишком много использовать мышь при кодировании, но это несложно).

HidekiAI
источник