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

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

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

Спасибо,


person Community    schedule 17.09.2008    source источник
comment
Я не понимаю, как преподавать C ++ без уроков. Но я осознаю усилия ... Я имею в виду преподавание :-)   -  person m-ric    schedule 18.09.2013
comment
C / C ++ мне не кажется хорошим вариантом для новичков ...   -  person Jaime Hablutzel    schedule 26.02.2018


Ответы (5)


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

person jbleners    schedule 17.09.2008
comment
Я не могу достаточно похвалить DDD, но поскольку он говорит, что указатели отсутствуют, вы теряете большую часть его преимущества - нет необходимости в верхней панели в gnu.org/software/ddd/all.png - person Mawg says reinstate Monica; 08.01.2010
comment
DDD действительно отличный интерфейс. Раньше я преподавал C ++. Мои ученики никогда не могли понять, как использовать gdb, но после того, как они показали им краткий обзор ddd (только самые основы и посоветовали им компилировать с помощью -g), они быстро стали намного более опытными в отладке своего кода и понимании того, что произошло. Пользовательский интерфейс может выглядеть старым и устаревшим, но зачем исправлять то, что явно работает? - person wasatz; 05.05.2010
comment
У ddd один из самых уродливых интерфейсов, которые я когда-либо видел. imgur.com/UFTBjnW - person ubershmekel; 06.03.2013
comment
хотя я много использовал ddd для C, у него довольно плохая поддержка векторов и std :: things в целом. Он также регулярно требует, чтобы я предоставлял искаженное имя чего-либо, чтобы установить точку останова. Я бы не рекомендовал его студентам, делающим первые шаги на C ++. - person PypeBros; 29.06.2013
comment
DDD отлично подходит для проверки структур данных, потому что вы можете разложить их на большом столе и увидеть, как они указывают друг на друга и так далее. Но это правда, что это полезно только для данных в стиле C (без STL, указатели повсюду). - person Roman Plášil; 16.05.2014
comment
DDD - отстой. Я предпочитаю использовать gdb в терминале. - person tuket; 12.02.2015
comment
Встроенный файловый менеджер кажется глючным в linux mint ... - person PraveenMax; 04.05.2017
comment
Этой штуке примерно 17 лет. - person Rolf; 11.02.2018
comment
В 2018 вы можете использовать код Visual Studio в сочетании с gdb для отладки вашего приложения. code.visualstudio.com/docs/languages/cpp или в виде описания видео youtube.com/watch?v=B0xTgyCwsAo - person Marcel Zebrowski; 21.03.2018

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

person Community    schedule 21.01.2012
comment
Insight такой классный, но он был удален из Debian, и я не могу установить его на свой Linux ... Я не знаю, кто виноват, но он вошел в мой список смертельных врагов, и если я столкнусь с ним, он столкнется с моим гневом! Любой-кто; есть еще способ запустить его, но пользовательский интерфейс немного запутан: baptiste-wicht.com/2012/01/ - person MasterMastic; 07.11.2012
comment
@SamuelLampa apt-get install nemiver - person Narek Babajanyan; 24.05.2013
comment
@MasterMastic, я думаю, он был удален, потому что его никто не поддерживал. Не волнуйтесь, вы можете взять это на себя! - person andrewsh; 26.06.2020

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

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

person Jon Ball    schedule 17.09.2008
comment
Чувак, студентам понадобятся недели, чтобы просто выучить Eclipse. - person MrFox; 14.08.2012
comment
-1 за рекомендацию Eclipse - person Celeritas; 04.10.2013
comment
Не буду -1 балл, но IDE - отстой. - person ovrwngtvity; 18.01.2014
comment
И если вы так много жалуетесь, что вы порекомендуете? code :: blocks, который не обновлялся уже 3 года? - person JohnJohn; 11.05.2015
comment
Eclipse отлично подходит для Java, но довольно плохо для C / C ++ ... - person ; 11.06.2015
comment
Существует автономная версия отладчика CDT, которая выглядит довольно аккуратно. У кого-нибудь есть опыт работы с этим? - person Lenar Hoyt; 05.06.2016
comment
Мой любимый опыт отладки был в Borland Delphi ... Конечно, не на C или unix. Я годами пытался использовать DDD. Пробуем немивер. C ++ для новичков - никогда. C или, возможно, Javascript, поскольку он встроен в каждый веб-браузер. - person Alan Corey; 24.11.2018

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
person Community    schedule 05.05.2010
comment
Поддерживает ли он отладку небольших программ, у которых нет файлов проекта? Я помню, как использовал его для своей более крупной программы, но первая установка была довольно болезненной, хотя IDE очень хороша. - person syockit; 08.01.2015

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

person HidekiAI    schedule 17.09.2008