Arm平台程序出现Bus error.md

在功能测试中,程序频繁出现Bus error,通过排查代码和库文件未找到直接原因。经搜索了解到该错误可能由数据对齐问题引起。检查结构体定义未发现异常,进一步检查memcpy使用发现一处错误,即1字节内存拷贝长度错误地用sizeof()获取了4字节变量的大小,修正后解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

收到反馈多次功能测试后程序功能失效。
打开调试,测试了几次出现如下错误

[2]+  Bus error                  ./AppXXX

找BUG

有点莫名其妙,自己程序没有输出任何错误,直接bus error退了。

  • 错误输出不是自己的打印格式,以防万一还是遍历了代码和所有库文件,未找到bus error!

  • 百度搜索Bus error
    搜到如下信息:bus error的解决方法
    简单看了一些,就是数据对齐问题引起的bus error;

  • 查看新增模块的结构体定义
    看了一下,结构体设计都有数据对齐。这里没找到问题,接下来看下内存操作的地方!

  • memcpy检查
    模块全局搜索,有6处memcpy,定睛一看,第一个就有问题。
    错误像这样!

int c = 0;
char a = 0, b = 0;
memcpy(&am
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值