嵌入式开发debug工具(2)——core文件

当测试程序出现崩溃时,如出现segmentation fault (core dumped),可生成core文件后使用gdb进行debug

# 启用输出core文件,大小不限
ulimit -c unlimited
# 查看
ulimit -c
# 如果core文件不在当前目录怎么查看位置
cat /proc/sys/kernel/core_pattern
# 如果输出以 | 开头
# 查看core条目
coredumpctl list adbd
# 自动把core喂进gdb
coredumpctl gdb adbd

使用gdb分析core文件

常规使用

bt
bt full
frame 0
info registers

详细

# 跨架构加载崩溃的可执行文件
gdb-multiarch ./adbd_rpmsg_arm64 ./core
# 直接用gdb跑
gdb -q --args ./adbd --help
# 进入gdb后
## 在 gdb 里常用指令
set pagination off
thread apply all bt            # 所有线程回溯
bt full                        # 当前线程 + 局部变量
f 0                            # 切到栈顶帧
info args                      # 查看参数
info locals                    # 查看局部变量
x/i $pc                        # 查看崩溃指令
disassemble /m                 # 反汇编(带源码)
posted on 2025-08-29 14:13  CharXL  阅读(64)  评论(0)    收藏  举报