ARM系列运行异常排查

一、断点指令BKPT

BKPT指令产生软件断点中断,可用于程序的调试。它使处理器停止执行正常指令(使处理器中止预取指)而进入相应的调试程序。

BKPT指令的格式为:BKPT   16位的立即数


二、使用BKPT进行软件异常定位

假设异常发生后,全局变量k变成了88,现在想确认具体是什么地方导致k变成了88,可以在程序中可能导致K值更改的地方添加以下代码:

if(k == 88)
{
    BKPT(0);
}

之后,在运行代码的时候,假设满足了(k==88)这个条件,则软件运行会停止在某个地方,用于确认软件异常位置。

三、适用场景

适用于v5T体系及以上架构

四、相关资料

参考网址:https://developer.arm.com/documentation/dui0489/c/arm-and-thumb-instructions/miscellaneous-instructions/bkpt#:~:text=The%20BKPT%20instruction%20causes%20the%20processor%20to%20enter,state%2C%20imm%20is%20ignored%20by%20the%20ARM%20hardware.

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值