ubuntu22.04不生成core文件

一、检查服务器的core文件是否打开

ulimit -a //查看时候打开core

如果core file size 是0就是关闭的!服务一般都是关闭的!将他打开即可!

ulimit -c size//设置core file的大小,自定义

此时打开就可以生成了core文件了!

二、当程序崩溃时有(core dump)提示但是不生成core文件

这种情况可以检查,/proc/sys/kernel/core_pattern这个路径下的值!如果是|/usr/share/apport/apport/... 表示core文件被apport工具给默认处理了,此时,需要生成core文件们就需要 

echo 'core' | sudo tee /proc/sys/kernel/core_pattern

 注意,使用该指令需要有足够的权限!!

执行上述的指令后 ,再次查看如果是core就可以了!

除了上述的,修改/proc/sys/kernel/core_pattern 值以外,还可以直接将服务器中的apport给禁用掉!

sudo systemctl disable apport.service

三、测试

这里简单的来一个除0测试,此时程序会收到OS发送的8号信号SIGFPE,就会终止:

int main()
{
    int n = 10;
    std::cout << n / 0 << std::endl;
    return 0;
}

OK,希望对你有用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值