记录一次使用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调试

利用gdb调试coredump

gdb调试coredump文件

linux禁止gdb调试

linux 程序崩溃 gdb调试coredump文件

全志 Tina Linux 系统调试 使用指南 GDB gdbserver coredump perf strace valgind