哪一个是最好的Linux C/C++调试器(或者gdb的前端)来帮助教学编程?

哪一个是最好的Linux C/C++调试器(或者gdb的前端)来帮助教学编程?

我向新手教授一种“精简”C++编程课程(“lite”,意思是没有指针,没有类,只是普通的旧C,加上引用和STL字符串和向量)。 学生以前没有编程经验,所以我相信使用交互式调试器可以帮助他们理解程序流程,变量和递归。 该课程在Linux中教授。 教他们使用gdb只是矫枉过正(他们不会使用也不了解大多数功能)。 我只需要一些简单但易于使用的工具:查看程序现在在哪一行,堆栈中有什么(局部变量,以前…


debugging - 如何检查GDB中函数的返回值?

假设返回值没有赋值给变量,是否有可能检查gdb函数的返回值?…


c - 使GDB打印控制功能的流程,因为他们被称为

如何在调用gdb打印函数的时候感兴趣,根据栈的深度来缩进? 我想能够说一些像(化妆):(gdb) trace Foo* Bar* printf 并让gdb打印所有以Foo或Bar开始的函数,因为它们被调用。 有点像gnu cflow,除了使用调试符号和只有打印函数实际上被调用,并不是所有可能的调用流程。 这些工具无助于包括cachegrind,callgrind和oprofile,它们对…


如何学习C调试和最佳实践

我已经用C编写了一个Apache模块。在某些情况下,我可以将它设置为段错误,但我不知道为什么。 在这一点上,它可能是我的代码,它可能是我正在编译程序的方式,或者它可能是操作系统库中的一个错误(segfault发生在调用dlopen())过程中。 我尝试通过GDB和Valgrind运行没有成功。 GDB给了我一个dlopen()系统调用的回溯,看起来没有意义。 在Valgrind中,这个bug…


GDB如何在没有断点的情况下停止执行?

如何在没有断点的情况下停止gdb执行?…


使用gdb在使用文件X中的任何函数时停止该程序

我想知道是否有任何方法来停止一个程序,当使用某个文件的功能。 理想情况下,我正在寻找的东西是这样的: GDB Stop when use a function from file foo.cpp 这样做的原因是因为我正在调试一个不是我的代码,我不知道究竟调用了哪些函数,哪些函数不是。 GDB中是否有一个函数来执行我正在查找的任何其他建议的方法来执行类似的操作? 谢谢…


GDB断点

每次我调试一个特定的程序时,我都要添加一个断点列表。 有没有办法将所有这些断点信息放在一个文件中,并在每个调试会话开始时使用它? 换句话说,在我给出“运行”命令之前,我可以向GDB提供一个带有断点信息的脚本文件 。 在此先感谢,Sachin…


c++ - 让gdb保存一个断点列表?

好的,信息中断列出了断点,但不是以与此问题中的--command重用它们的格式。 gdb是否有一种方法将它们转储到可再次输入的文件中? 有时在调试会话中,有必要在建立一组测试断点后重新启动gdb。 编辑:.gdbinit文件与--command具有相同的问题。 info break命令不会列出命令,而是一张供人类使用的表格。 详细说明,这里是一个来自信息中断的示例:(gdb) in…


c++ - 跟踪对gdb中的类实例/内存范围的写入访问

我正在尝试调试我在C++大学课程中编写的一个小操作系统。 在运行的地方,我的一个对象正在被损坏。 这似乎是由于意外地写入错误的内存地址而发生的。 由于我无法从纯粹的代码中找到发生这种情况的地方,我需要另一种方式。 由于这是一个操作系统,所以我不能附加类似valgrind的工具,但是我可以在附带了gdb的模拟器(bochs/qemu)中运行它。 有没有在gdb的方式跟踪写入访问类实例或更…


debugging - Solaris GDB:如何暂停执行?

我正在使用GDB在Solaris 10 x86上调试一个封闭的源代码程序。 我将gdb附加到程序并继续执行,但是当我想稍后暂停执行以检查一些我不能使用的内存时。 当我按下CTRL-C时,它只打印^ C而不是暂停程序并将我放到(gdb)提示符下。 bash-3.00# gdb--pid=1521 GNU gdb 6.6 Copyright(C) 2006 Free Software Foun…





gdb list gdb是什么 gdb教程 gdb运行程序 debug gdb进入函数 gdb调试 gdb断点调试 gdb单步调试