Segmentation fault (core dumped)/段错误(核心已转存)但没有core.文件

目录

1.初遇问题:

2.解决方法:

(1)初步排查

(2)第二种问题

1.查看手册

2定位路径

3.定位文件

4.查看文件

5.修改文件

6.完成


1.初遇问题:

今天学习GBD调试时,遇到了这个问题:

首先,进行测试的是以下代码:

很显然,一旦运行这个代码将会报错,因为temp指针指向的是一个空地址,而我们却在这个地址所在的地方赋值10.

下面我运行代码,显示:段错误

然而奇怪的是在当前目录下并没有生成core文件???这是什么原因呢?

2.解决方法:

(1)初步排查

搜索csdn, 大部分人都是说没有开启core dump, 检测方法如下:

ulimit -a

可以看到我画红色下划线的地方结果为unlimited, 而不是0, 说明我的问题并不在这里.

如果出现这里显示的为0, 解决方法为: 在命令行输入

ulimit -c unlimited

即可启用core dump.

(2)问题深入

跟随以下步骤进行解决:

1.查看手册

man 5 core
2定位路径

看到大约在40行, 显示出了一个路径 /proc/sys/kernel/

3.定位文件

然后我们移动到该目录下,看到了一个名为core_pattern的文件

4.查看文件

我们打开文件,发现显示的结果如下

5.修改文件

使用超用户命令对文本内容进行修改

sudo vi core_pattern

6.完成

以上步骤完成后,回到刚刚最开始的执行测试代码阶段

现在我们发现在出现段错误后, 原目录下生成了core.4100的文件, 该问题已解决.

参考:

ubuntu下不生成core dumped文件解决办法一则_ubuntu 程序崩溃没有dump-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值