Linux 下打core并调试core

      我们在Linux下工作时,经常会挺别人说程序崩溃了,会打出一个 core 文件在当前目录下,那个是怎么做到的呢?

首先,我们需要看看自己的系统有没有开启 core 的开关,如果没有,我们需要开启,方法有很多,我就不在这里介绍了。

      所谓 core 文件,就是程序崩溃之后,保存内存中的那部分内容,以便我们在 Debug 的时候使用。

      好吧,我们看看下面的截图:


      很显然,这段代码出错的地方你一眼就能看出来,就是没给指针分配内存空间,导致使用了非法内存,这样肯定是会导致段错误的。

      注意:我在编译这个源代码时使用了 -g 选项,这个选项的意思就是生成调试信息,同时出现 core 文件,接着,我们就可以使用 gdb 调试我们的程序了。

      首先,我们需要在终端输入:gdb ./dumptest

      接着,不要管出现的那一堆信息,输入:core-file core,载入我们的 core 文件

      最后,我们需要做的就是输入:where / bt ,以显示出错的那行代码在哪

      如下截图显示了我上面的一系列动作:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值