下冰雹 · 2021年12月27日

全志R329如何进行coredump的配置与调试?

程序运行过程中异常中止,想通过进行coredump的配置进行调试,求解决

1 个回答 得票排序 · 时间排序
极术小姐姐 · 2021年12月29日
本回答来源全志R329如何进行coredump的配置与调试?

如果报错只有 Segmentation fault,而不是Segmentation fault (core dumped),说明没有使用CoreDump。

解决办法

SDK配置coredump和gdb
m menuconfig进入配置菜单

(1)Global build settings —>

[*] Enable process core dump support
image.png

(2)Global build settings —>

Binary stripping method (none) —>
image.png
(3)Development —>

<*> gdb… GNU Debugger
image.png

小机端配置
(1)ulimit -c unlimited
表示在异常时产生core dump文件,不对core dump文件的大小进行限制。
(2)echo /tmp/coredump > /proc/sys/kernel/core_pattern
设置产生的core文件的文件名以及路径。

例如:
image.png

出现Segmentation fault 之后,会有(core dumped)的字样。

对coredump的简单debug

(1)使用gdb调试coredump文件。
gdb xxxx /tmp/coredump
xxxx是具体的应用程序,比如/usr/bin/bt_test

(2)在gdb 终端中输入bt
输入bt之后,可以查看堆栈的信息。注意:这里的bt不是蓝牙的意思。

如下图所示:
image.png
这样就可以大致查看出错的点,方便分析调试。

你的回答
关注数
1
收藏数
0
浏览数
2788
极术小姐姐
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息