哪一个最好的Linux C / C ++调试器(或gdb的前端)可以帮助教授编程?[关闭]


106

我向新手讲了一种“精简” C ++编程课程(“精简”表示没有指针,没有类,只是普通的旧C语言以及引用,STL字符串和向量)。学生以前没有编程经验,因此我相信使用交互式调试器可以帮助他们理解程序流程,变量和递归。

本课程以Linux授课。教他们使用gdb实在是过大(他们不会使用也不了解大多数功能)。我只需要简单但易于使用的内容:查看程序现在位于哪一行,堆栈中有什么(局部变量,以前的调用等)。我看起来与旧的Turbo Pascal或Turbo C ++ Borland的调试器或Visual Studio调试器类似。

谢谢,


4
我不了解在没有类的情况下教授C ++的基本原理。但是我知道他们的努力...教学的意思是:-)
m-ric 2013年

1
C / C ++在我看来对于所有初学者来说都不是一个好选择……
Jaime Hablutzel

Answers:


36

ddd是gdb的图形化前端,非常好。缺点之一是经典的X界面,但我似乎还记得它非常直观。


2
DDD确实是一个很棒的前端。我曾经教过C ++。我的学生永远无法理解如何使用gdb,但是在向他们展示了ddd的快速浏览后(只是最基础的知识,并告诉他们使用-g进行编译),他们很快变得精通调试代码并了解发生了什么。UI可能看起来“旧且过时”,但是为什么要修复明显起作用的东西?
wasatz 2010年

43
ddd具有我见过的最丑陋的UI之一imgur.com/UFTBjnW
ubershmekel 2013年

3
尽管我在C上经常使用ddd,但是一般来说,它对vector和std ::的支持却相当差。它通常要求我也提供某些东西的错误名称来设置断点。我不建议学生进行C ++的第一步。
PypeBros

1
DDD非常适合检查数据结构,因为您可以将它们放在一张大桌子上,并查看它们如何指向彼此和事物。但确实,它仅对C样式(无STL,无处不在的指针)数据有用。
罗曼·普拉西尔(RomanPlášil)

1
那东西大概是17岁。
罗尔夫'18

25

您可以尝试使用由Red Hat编写的Insight for gdb的图形前端。或者,如果您使用GNOME桌面环境,也可以尝试Nemiver


4
洞察力真棒,但是它已从Debian中删除,我无法在Linux上安装它。任何人 还是有办法让它运行,但用户界面是拧了一点:baptiste-wicht.com/2012/01/...
MasterMastic

@SamuelLampa apt-get install nemiver
Narek Babajanyan

@MasterMastic,我猜是因为没有人维护它被删除。不用担心,您可以接管!
andrewsh

16

您可能要签出Eclipse CDT。它提供了可在多个平台(例如Windows,Linux,Mac OS X等)上运行的C / C ++ IDE。使用Eclipse CDT进行调试与使用其他工具(例如Visual Studio)具有可比性。

您可以查看Eclipse CDT Debug教程,该教程还包括许多屏幕截图。


14
杜德,学生将需要数周的时间来学习Eclipse。
MrFox 2012年

14
-1推荐Eclipse
Celeritas

7
我不会-1分,但IDE很烂。
ovrwngtvity 2014年

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,2015年

12

也许它对gdb是间接的(因为它是一个IDE),但是我的建议是KDevelop。由于对Visual Studio的调试器(专业工作了很多年)非常满意,到目前为止,我感觉到KDevelop中最舒适的调试(这是我的业余爱好,因为我无法负担得起Visual Studio的个人使用-直到Express Edition发行了) )。与我尝试过的其他IDE(包括Eclipse CDT)进行调试(逐步调试,逐步调试等)(放置断点有点尴尬,因为我不这样做)相比,它的确“看起来类似于” Visual Studio。我不想在编码时过多使用鼠标,但这并不困难)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.