我刚刚开始学习C,我正在寻找一个在gcc环境中进行调试的简单工具。此类工具将打印堆栈跟踪,并指示发生分段故障的位置。
答案 0 :(得分:7)
尝试gdb
;或者像ddd
或kdgb
这样的前端。
使用-g
标志进行编译。
答案 1 :(得分:1)
GDB完成所有工作 - 您需要使用调试信息编译程序(使用-g
开关),然后使用GDB打开它。要打印堆栈跟踪,请使用命令bt
。
要调查段错误,您还需要将路径传递到核心文件到GDB,如下所示:
gdb yourprogram core
如果您的系统默认情况下在segfault的情况下不生成核心文件,您可以使用命令打开它:
ulimit -c unlimited
答案 2 :(得分:0)
GDB正是您所寻找的。特别是,GDB中的backtrace命令将显示堆栈跟踪。 http://www.cs.cmu.edu/~gilpin/tutorial/
答案 3 :(得分:0)
如果您使用X,请尝试“ddd”
答案 4 :(得分:0)
无论是使用命令行gdb还是DDD之类的前端,你都应该看看gdb manual,它也是(像许多GNU手册一样)非常好的教程。
答案 5 :(得分:0)
我还建议你看看valgrind.
在kdevelop中还有一个很好的gdb集成(emacs绑定也很好......)