嵌入式:软件崩溃定位方法

15 篇文章 0 订阅
1、调试情况下软件崩溃

        1.1 直接 gdb 调试程序;

        1.2 按 下文 2.1 步骤调试;

2、正常使用情况下软件崩溃
        2.1 如果崩溃的机器能插上串口调试线调试
                2.1.1 通过 ps 指令,查看软件是否还在运行;
                2.1.2 如果程序没在运行

                1)输入指令    "dmesg | tail -n 100"   查看机器崩溃时最后的100条终端输出信息,分析定位问题;

                2.1.3 如果程序在运行

                1)输入指令    "dmesg | tail -n 100"   查看机器崩溃时最后的100条终端输出信息,分析定位问题;

                2)输入指令 "cat /proc/进程号/status"  查看进程信息,分析定位问题;(信息分析:CSDN

                3)输入指令 "strace -p 进程号"  查看进程系统调用情况;(如果是死锁的话,可以看到卡在系统的锁调用处)

        2.2 如果崩溃的机器不能插上串口调试线调试
                2.2.1 如果有崩溃日志

                1)准备可以调试的机器,将运行软件升级到和产生崩溃的机器一致;

                2)拷贝崩溃文件到调试机器中,位置随意;

                2)通过cd指令切换路径到可执行文件路径;

                3)执行  gdb ./可执行文件名  崩溃文件的绝对路径;

                4)输入 bt 指令查看崩溃时的地方;

                2.2.2 如果没有崩溃日志

                不知道怎么办

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值