Sto avendo (a mio parere) un problema molto difficile nel mio codice. Si blocca in modo casuale in diversi punti del codice. Il progetto è un progetto ARC.ios Rilevazione di zombi
Quindi il mio programma si blocca occaisonally con questo messaggio:
malloc: *** error for object 0xd2dd8b0: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
ho già impostato un punto di interruzione per malloc_error_break
ma non ho ricevuto alcuna informazione da esso. Quando il codice si blocca, XCode mi mostra il punto nel codice in cui si verifica. Ma come ho già detto gli arresti sono casuali e non si verificano sempre. Ma sembra che gli arresti si concentrino su una particolare riga del codice.
Ora, volevo eseguire il debug utilizzando gli strumenti forniti con xcode. Dopo un po 'di googling ho trovato le seguenti cose su StackOverflow: How do I set up NSZombieEnabled in Xcode 4? e Xcode malloc error.
Quindi il primo collegamento descrive come avviare lo rilevamento di zombie da xcode stesso facendo clic sul pulsante di esecuzione in xcode e scegliere "Profilo". Il problema che ho è che non riesco a trovare "Zombies" quando scelgo il modello per il documento di traccia nella mia versione di xcode (4.2). Ma se avvio gli strumenti fuori da xcode (ad esempio dal finder) posso scegliere gli zombi.
Va bene, qui è quello che ho fatto:
1) Avviare Strumenti dal Finder e scegli Profilo di "Zombies".
2) Avviare l'app per iphone da xcode nel simulatore iphone (esecuzione normale (non profilo o debug)).
3) Negli strumenti "Scegli destinazione" -> "Collega al processo" -> "iPhone Simulator (57529)".
4) Gli strumenti iniziano a registrare qualcosa (non riesco a capire cosa fa).
5) Inizia a giocare con l'app fino a quando non si blocca.
Alla fine i crash app e qui è uno screenshot di strumenti dopo la brutta caduta l'applicazione:
Le mie domande:
1) è Zombies adeguata per il mio problema o devo usare un altro strumento analyizes?
2) Cosa mi dice che gli strumenti sono in uscita dopo l'arresto?