我在cocos2d-iphone 1.0.1
上遇到EXC_BAD_ACCESS
問題。CCMenu導致EXC_BAD_ACCESS錯誤,但我不能回溯我的代碼
我已啓用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
的代碼。
我應該怎麼做才能解決這個錯誤呢?
對於好奇,[我發現這個問題(http://stackoverflow.com/q/19533400/555690) - 但我仍然想知道如何解決這樣的問題,因爲這我只是幸運而已。 – Voldemort