linux下的debian系统,c程序,调试的方式非常简单,可用于排查问题,我一般用它来排查崩溃的bug,挺方便的,因为有时候想在linux下获取崩溃文件还挺麻烦的,如果您想获取崩溃文件,请看我的另一篇文章:linux-centos 程序崩溃没有core文件?_StrokeAce的博客-CSDN博客_段错误没有core文件。
接下来说说如何GDB调试:
ps -ef | grep 进程名
首先通过ps命令找到您的进程id,比如查询后发现您的进程为:1149。
gdb -p 1149
然后通过gdb命令进入您的程序。
最后您输入命令: c
之后只需要等着就行了,直到程序崩溃的时候您就可以查看崩溃时的堆栈信息了。
上图就是一个崩溃的堆栈示例,是不是很简单。
另外,如果您的程序一运行就立即崩溃的话,可能根本来不及在程序崩溃前gdb,我想了个办法,您可以在程序未崩溃之前,先给他睡几十秒,我想这样应该就可以了,不过我没有亲自试过。