gdb调试通过core文件找出程序在哪里挂了
2017-05-08 19:49
274 查看
开发中有时会遇到程序本身编译没有错,但是就是不能运行的情况,让人纠结,下面通过一个例子说说如何通过core文件查看函数调用栈从而找出问题所在。
代码如下:
错误提示:
程序逻辑上并没有错误,下面看调试过程:
终端执行时发现有错误 core dump,查看是否产生core文件,通过gdb调试core文件
bt命令查看函数调用栈,找到自己写的地方,就可以看到哪条语句让程序挂了,这个例子中是#5的malloc有
问题,于是查看这条语句
由此可知malloc分配的内存为0,找出问题所在,在回到代码中找错误即可。
代码如下:
错误提示:
程序逻辑上并没有错误,下面看调试过程:
终端执行时发现有错误 core dump,查看是否产生core文件,通过gdb调试core文件
bt命令查看函数调用栈,找到自己写的地方,就可以看到哪条语句让程序挂了,这个例子中是#5的malloc有
问题,于是查看这条语句
由此可知malloc分配的内存为0,找出问题所在,在回到代码中找错误即可。
相关文章推荐
- 通过core文件调试程序
- gdb调试core文件与程序
- 【GDB调试学习笔记】利用core文件调试程序
- 1.编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 2.编写一个C语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤)。所谓“
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
- GDB调试Core文件(程序异常产生的文件)
- 1.编写一个简单的C语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 2.编写一个C语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤)。所谓“
- gdb调试,分析core文件,找出段错误位置
- 使用gdb+core文件调试程序异常奔溃bug
- 用gdb调试core文件
- 如何让程序crash时生成coredump文件并用gdb调试
- Unix/Linux使用core文件调试程序
- linux偶发性崩溃的程序该怎么调试 coredump gdb
- GDB调试core文件样例(如何定位Segment fault) 【转】
- 使用core文件调试程序
- GDB调试core文件样例(如何定位Segment fault)
- 【转】GDB调试core文件样例(如何定位Segment fault)
- GDB调试core文件样例
- gdb用法(二) 在Linux下产生并调试core文件
- 转 GDB 调试 core文件