嵌入式Linux系统解决段错误问题

打算使用的方法是产生core文件,然后根据core文件定位问题.

生成core文件

发生段错误默认是不生成core文件的,要想生成core文件需要使用ulimit命令取消限制.

在上位机上使用man ulimit查看用法.

#查看当前的ulimit值
ulimit -a

core file size (blocks)         (-c) 0
data seg size (kb)              (-d) unlimited
scheduling priority             (-e) 0
file size (blocks)              (-f) unlimited
pending signals                 (-i) 1917
max locked memory (kb)          (-l) 64
max memory size (kb)            (-m) unlimited
open files                      (-n) 1024
POSIX message queues (bytes)    (-q) 819200
real-time priority              (-r) 0
stack size (kb)                 (-s) 8192
cpu time (seconds)              (-t) unlimited
max user processes              (-u) 1917
virtual memory (kb)             (-v) unlimited
file locks                      (-x) unlimited

可以看到core file size (blocks) (-c) 0, 不能生成core文件.

#开启生成core文件
ulimit -c unlimited

./app
Segmentation fault (core dumped)

在上位机上进行调试

aarch64-himix210-linux-gdb IRFusionBoard core

或者

aarch64-himix210-linux-gdb IRFusionBoard
core-file core

然后使用where命令查看出现问题的位置

参考资料

gdb定位段错误Segmentation fault (core dumped)

core文件调试(gdb)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值