Arm平台程序出现Bus error.md

背景

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

[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(&a, &b, sizeof(c));

不知道是老眼昏花呢,还是帕金森手抖了,1字节内存拷贝长度sizeof()了一个4字节的变量!!!


著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处!
更多精彩内容,欢迎访问一只海星的主页

你可能感兴趣的:(Linux,海思平台开发,错误记录)