您的位置:首页 > 其它

gdb调试通过core文件找出程序在哪里挂了

2017-05-08 19:49 274 查看
开发中有时会遇到程序本身编译没有错,但是就是不能运行的情况,让人纠结,下面通过一个例子说说如何通过core文件查看函数调用栈从而找出问题所在。

代码如下:



错误提示:



程序逻辑上并没有错误,下面看调试过程:



终端执行时发现有错误 core dump,查看是否产生core文件,通过gdb调试core文件



bt命令查看函数调用栈,找到自己写的地方,就可以看到哪条语句让程序挂了,这个例子中是#5的malloc有

问题,于是查看这条语句



由此可知malloc分配的内存为0,找出问题所在,在回到代码中找错误即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: