ccArrayRemoveAllObjects

最近游戏项目bugly收到若干崩溃日志,简单日志如下:


SIGSEGV(SEGV_MAPERR)

  #00 pc 00a89062 /data/app-lib/com.bilibili.meng.uc-2/libcocos2dcpp.so (cocos2d::ActionManager::removeAllActionsFromTarget(cocos2d::Node*) +09) [armeabi-v7a]

  #01 pc 00a54627 /data/app-lib/com.bilibili.meng.uc-2/libcocos2dcpp.so (spritebuilder::CCBAnimationManager::~CCBAnimationManager() +18) [armeabi-v7a]


翻阅cocos2d-x代码,该函数是



首先感觉

if (ccArrayContainsObject(element->actions, element->currentAction) && (! element->currentActionSalvaged))

这一行element->actions不判空是不行的,因为:



这里面的调用没判空 直接把指针拿来用了。


但是从bugly上看问题并非出在这里,而是出在ccArrayRemoveAllObjects这个接口的调用上。



这个接口也是这样,没有判空,首先抛却res是否正确的情况,这样的不判空就用指针的调用是不被允许的。


不知道有没有大神遇到过这样的情况。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值