Qt生成coredump文件(支持arm和x86架构)

简介:

coredump一般都在执行文件崩溃时自动生成的,用来定位造成程序崩溃的原因。
ubuntu下的设置coredump步骤(linux的x86架构)
1、正常情况下coredump生成路径需要在root权限下才能设置生效,所以我们需要进入root模式。

sudo su 

2、设置coredump生成路径。

sudo mkdir /home/core
echo /home/core/core_%e_%t_%p > /proc/sys/kernel/core_pattern

在这里插入图片描述
配置说明:

%%单个%字符
%p代表dump进程的进程ID
%u代表dump进程的实际用户ID
%g代表dump进程的实际组ID
%s导致本次core dump的信号
%t core dump的时间 (197011日计起的秒数)
%h主机名
%e程序文件名

3、查看coredump大小限制。

ulimit -c

在这里插入图片描述

4、如果大小为0,则需要设置大小,如不做限制。

ulimit -c unlimited

在这里插入图片描述
5、创建一个会崩溃的程序。

#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QVector<QString> ss;
    qDebug()<<ss[100];
    return a.exec();
}

6、运行,观察是否生成core文件。
在这里插入图片描述
7、gdb查看(ubuntu安装gdb比较容易,这里不做赘述)
在这里插入图片描述

arm下的设置coredump步骤
步骤其实跟x86的差不多,首先我们通过一个串口助手进入arm后台。
1、设置coredump路径

mkdir /opt/core
echo /opt/core/core_%e_%t_%p > /proc/sys/kernel/core_pattern

在这里插入图片描述
2、查看coredump大小限制。

ulimit -c

在这里插入图片描述
3、设置限制为无限制

ulimit -c unlimited

在这里插入图片描述
4、创建一个对应ARM平台的程序,然后运行。
在这里插入图片描述
5、观察coredump文件是否在对应目录生成成功。
注意:coredump占用外存极大,如需使用,请做好限制。
在这里插入图片描述
6、gdb调试
在这里插入图片描述
ARM架构gdb编译教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方忘忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值