我遇到EXC_BAD_ACCESS
了问题cocos2d-iphone 1.0.1
。
我已启用NSZombies
,希望查看我在代码中的什么位置访问了我不应该访问的对象。
问题发生在CCMenu.m
,这里:
-(void) ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event
{
NSAssert(state_ == kCCMenuStateTrackingTouch, @"[Menu ccTouchMoved] -- invalid state");
CCMenuItem *currentItem = [self itemForTouch:touch];
if (currentItem != selectedItem_) {
[selectedItem_ unselected]; // <--- selectedItem_ is a zombie
selectedItem_ = currentItem;
[selectedItem_ selected];
}
}
我可以观察到那selectedItem_
是一个僵尸。
这是CCMenu
代码,不是我的——我应该看看我自己的代码。所以我看一下回溯:
这并没有真正帮助我:回溯没有到达我自己的代码。那是cocos2d-iphone
代码。
那我应该怎么做才能解决这个错误呢?