记录一次使用GDB调试coredump
Posted qq_34132502
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次使用GDB调试coredump相关的知识,希望对你有一定的参考价值。
出现了段错误:
决定使用GDB查看是哪里的问题
1、使用ulimit -c unlimited
修改core文件的最大限制为无限(默认为0)
2、使用-g
重新编译文件
3、正常运行,
4、运行到上一次出错的地方,出现core dumped
5、查看是否生成core文件
6、使用 gdb + 可执行文件名 + core的方式调试
7、显示结果
显示这里出现了错误,但这明显是系统调用中的代码,所以接着查看递归栈
8、使用bt
查看递归栈
从下往上看,很容易找到错误的地方
之后发现是一个变量重复定义导致其值为NULL而造成段错误
以上是关于记录一次使用GDB调试coredump的主要内容,如果未能解决你的问题,请参考以下文章
Linux C/C++代码 使用gdb进行coredump调试
全志 Tina Linux 系统调试 使用指南 GDB gdbserver coredump perf strace valgind