哪一种最好的Linux C / C ++调试器(或者gdb的前端)可以帮助教授编程?
我向新手讲了一种"精简" 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