Linux BUS error问题记录

来源:互联网 发布:微博发淘宝客链接 编辑:程序博客网 时间:2024/06/06 08:49

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不会异常,真是奇怪,居然跟对齐扯上关系了,唉,又是多少青春消逝!!

0 0
原创粉丝点击