嵌入式开发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 # 反汇编(带源码)
浙公网安备 33010602011771号