Який найкращий налагоджувач Linux C / C ++ (або передній-gdb) для навчання навчанню програмуванню? [зачинено]


106

Я викладаю початківцям такий собі "програмуючий" курс програмування на C ++ ("lite", що означає відсутність покажчиків, ніяких класів, просто звичайний C, плюс посилання та рядки та вектори STL). У студентів немає попереднього досвіду програмування, тому я вважаю, що використання інтерактивного налагоджувача допоможе їм зрозуміти потік програми, змінні та рекурсію.

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

Дякую,


4
Я не отримую обґрунтування викладання C ++ без занять. Але я визнаю зусилля ... Вчити я маю на увазі :-)
m-ric

1
C / C ++ не здається мені гарним варіантом для початківців ...
Jaime Hablutzel

Відповіді:


36

ddd - це графічний фронт-каталог gdb, що дуже приємно. Однією з нижніх сторін є класичний інтерфейс X, але, здається, я пам'ятаю, що він був досить інтуїтивним.


2
DDD дійсно є чудовим фронтендом. Раніше я навчав C ++. Мої студенти ніколи не могли зрозуміти, як використовувати gdb, але після того, як вони показали їм швидку екскурсію по DDD (лише самі основи, і сказавши їм компілювати з -g), вони швидко стали набагато більш досвідченими у налагодженні свого коду та розумінні того, що сталося. Користувальницький інтерфейс може виглядати "старим і датованим", але навіщо фіксувати те, що, очевидно, працює?
wasatz

43
ddd має один з найпотворніших інтерфейсів, які я коли-небудь бачив imgur.com/UFTBjnW
ubershmekel

3
хоча я багато використовував ddd для C, він має досить погану підтримку векторів та std :: речі взагалі. Це регулярно вимагає, щоб я надавав зловмисне ім’я чогось, щоб також встановити точку перерви. Я б не рекомендував це студентам, які роблять свої перші 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-отримати установку nemiver
Нарек Бабаджаняна

@MasterMastic, її видалили, оскільки ніхто не підтримував її, я думаю. Не хвилюйтесь, ви можете перейняти це!
andrewsh

16

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

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


14
Чувак, студентам знадобляться тижні, щоб просто вивчити затемнення.
MrFox

14
-1 для рекомендування Eclipse
Celeritas

7
Я не буду -1 балів, але IDE смокче.
ovrwngtvity

2
А оскільки ви, хлопці, так нарікаєте, що ви рекомендуєте? code :: блоки, які не оновлювались уже 3 роки?
ДжонДжон

3
Eclipse чудово підходить для Java, але це досить погано для C / C ++ ...

14

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

Ви можете використовувати Qt Creator як IDE для навчання програмуванню, вважайте, що він має деякі хороші функції:

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

Чи підтримує він налагодження невеликих програм, у яких немає файлів проектів? Пам’ятаю, я використовував це для своєї більшої програми, але перша установка була досить болісною, хоча IDE дуже хороший.
syockit

12

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.