-
周五才解决的一个bug,嵌入式linux系统上,开发的一个.so供其他模块使用。系统开机的时候极小概率出现core dump。gdb调试发现dump在std::_Rb_tree::_M_erase,这个是C++一个类里的map成员,这个类就叫类A吧。
最初查找的时候,代码一行行看,也找同事帮忙看,都没找出问题。
在复现bug的时候发现使用这个库的模块因为收到了两次电源关闭状态变更的消息(据同事说这里是为了处理某个bug添加的),导致调用了两次类A的析构函数,这就导致系统去释放了两次map成员,第一次释放map中有数据没问题,但第二次释放因为map已经是空的了,所以系统再调_M_erase就会导致core dump。
最后解决的方法是在析构函数里加入手动清空map的代码,map.clear(),这个函数即使map是空的也可以使用。
所以搞这种linux系统开发各个模块间的耦合度不能太高啊,单独调试一个模块没有问题,一旦联调就各种莫名其妙的bug
{:1_101:}
-
富勒CW100
-
eric_wang 发表于 2016-1-25 10:42
恭喜你竞拍获得图书,请尽快跟帖确认论坛资料是否正确
信息资料正确,谢谢~
-
I1200
-
请问LZ的屏是不是也有些偏蓝的感觉?
-
买买买
-
电容哪里买?
-
我要支持
之前在网上看到一个用F4做的一个界面http://v.youku.com/v_show/id_XNDQ3Mzg0NTUy.html
-
那游戏就没赢过。。。。。。
-
李俊锋 发表于 2015-7-23 10:45
我想要,如果还未出,手机联系15268851967
已经出了
-
100包邮啦
-
soso 发表于 2015-7-9 09:08
ICkey通过 国外E络盟下单?
与直接通过国内E络盟的区别是?
国内e络盟没有货:Sad:
-
ickey从国外e络盟代购370已下单
-
首先要有一块开发板:Cry:
-
探索版50刀,各种求团购啊,e络盟和rs都没货……
-
感谢分享
-
知道Vishay的电阻很好,hifi发烧友自己做板子经常见到用Vishay
-
现在硬封的万用表少见了啊,都是黑胶的,集成度高,内部电路也很精简。印象深的还是小时候第一次见到指针万用表啊,表笔一碰指针就动了,那时候觉得很神奇有木有!用9V电池+2号电池的指针式万用表
-
终于找到是这个活动中的音箱(#Д)
-
非常给力,感谢分享