Linux BUS error问题记录

2015-12-31

今天调试代码的时候碰到BUS error的错误,发现只要调用pthread_mutex_lock(&dev_485[comn - 1].serial_mutex)这一句就会抛出这个错误,很奇怪,找不到问题的原因。

网上看了很多信息,说是对齐的问题,我的数据机构定义给了字节对齐的编译说明;又看了运算符的优先级,&符在这里没用错呀,不知道程序怎么就疯了。

尝试解决方案:

1、将dev_485对应数据结构不做字节对齐要求;

2、调用处修改为pthread_mutex_lock(&(dev_485[comn - 1].serial_mutex)),&后面加一个括号;

明天继续调试。


上面信息是凌晨写的,今天上班的时候试了下,果然取消字节对齐后,调用pthread_mutex_lock不会异常,真是奇怪,居然跟对齐扯上关系了,唉,又是多少青春消逝!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值