Странные ошибки xcode с использованием box2d

я использую xcode4 и box2d/cocos2d.

У меня возникают некоторые странные трудности с ошибками во время выполнения, которые появляются «случайно».
Я думаю, что они возникают чаще, когда я не останавливаю процесс перед перестроением/запуском.
Обычно, если я останавливаю процесс перед перестроением/запуском, ошибки не возникают. происходить.

Иногда я получаю:

«NSInvalidArguementException», причина «-[ConstructLayer createCog:::]: нераспознанный селектор отправлен экземпляру 0x554ecd0.

Иногда я получаю странную ошибку в файле с именем:

llvm:InstCombiner::DoOneIteration(llvm::Function&, целое число без знака)_disassembly_0x026bc64f.nasm

с выделенной строкой:

0x02bc64f ‹+0439> мов 0x20(%eax),%ecxn

И иногда я получаю сообщение об ошибке: ошибка malloc * для объекта 0x68d4ba4: неверная контрольная сумма для освобожденного объекта - возможно, объект был изменен после освобождения.

Вот мой метод Dealloc:

- (void) dealloc{
delete world;
world = NULL;
body_block1 = NULL;
body_egg = NULL;
body_poly = NULL;

[_block1 release];
[_egg release];
[_poly release];
[super dealloc];
}

Что происходит? Обычно ошибки возникают 3 раза подряд с разными ошибками, прежде чем он снова запустится.
Помогите!
Спасибо,
Оливер.


person Ospho    schedule 04.04.2011    source источник


Ответы (1)


Попробуйте сделать массив нулевым после его освобождения.

[_block1 release];
_block = nil;

[_egg release];
_egg = nil;

[_poly release];
_poly = nil;
person Anish    schedule 11.04.2011