哪一种最好的Linux C / C ++调试器(或者gdb的前端)可以帮助教授编程?

时间:2020-03-05 18:57:48  来源:igfitidea点击:

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

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

谢谢,

解决方案

回答

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

回答

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

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

回答

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

回答

我为TotalView工作,我们有免费的学生版商业Linux C ++(还包括Fortran和MPI和线程)调试器。

http://www.roguewave.com/company/academic-programs.aspx

值得注意的是,我们还对"教室共享"许可进行了大幅打折。

有关说明产品工作原理的一些快速视频,请参见http://www.roguewave.com/products/totalview/resources/videos.aspx。

TotalView具有C ++的一些特定功能:

  • 将STL集合类自动转换为合理的东西
  • 在指针上"潜水"以查看所指向的内容
  • 轻松"投射"指向数组的指针
  • 在对象数组中的每个对象实例中查看单个数据字段的能力
  • 在类的所有实例上设置断点

克里斯·格特布罗斯
TotalView产品经理
流氓浪潮软件

回答

除了其他优点外,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