2010-07-29 4 views
2

J'ai presque terminé ma première application mais je reçois un EXC_BAD_ACCESS bizarre qui arrive presque tout le temps.EXC_BAD_ACCESS sur lancement, bug aléatoire

Voici la trace:

#0 0x02adba93 in objc_msgSend 
#1 0x07022e00 in ?? 
#2 0x028bcbcd in _CFAutoreleasePoolPop 
#3 0x0003999f in -[NSAutoreleasePool release] 
#4 0x002e9f84 in _UIApplicationHandleEvent 
#5 0x0310dafa in PurpleEventCallback 
#6 0x02961dc4 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 
#7 0x028c2737 in __CFRunLoopDoSource1 
#8 0x028bf9c3 in __CFRunLoopRun 
#9 0x028bf280 in CFRunLoopRunSpecific 
#10 0x028bf1a1 in CFRunLoopRunInMode 
#11 0x002e2226 in -[UIApplication _run] 
#12 0x002edb58 in UIApplicationMain 
#13 0x0000282e in main at main.m:14 

La chose étrange est que quelques fois l'application commencent normalement, donc je ne pas understant ce qui se passe et un peu d'aide serait génial :)

+0

Cela ressemble à un problème de libération/autorelease. Vous avez peut-être publié un objet qui est également auto-libéré ultérieurement. –

+0

Est-ce avec NSZombieEnabled? – willcodejavaforfood

Répondre

3

Vous avez trop relâché un objet, donc lorsque le pool autorelease est effacé, c'est une opération invalide.

débogage avec des zombies:

Lancez ensuite votre application, et vérifiez la console - Il devrait vous dire quel objet est sur-relâché.

+0

Comme je pensais. N'a pas maintenant cette fonctionnalité NSZombieEnabled, nice one :) –

+0

Eh bien merci je ne savais pas cette fonctionnalité, vraiment utile. Merci !! – Clem

+0

Cela m'aide. Merci!! – AechoLiu