2010-08-22 2 views
1

Poursuivant une helpful StackOverflow debugging, j'ai un zombie je dois traquer:Une fois que j'active les Zombies, comment les traquer?

2010-08-22 10:18:51.111 AppName[106:307] *** -[CFString release]: message sent to deallocated instance 0x19f3b0 

Comment peut-on trouver le nom de la variable ou whathaveyou pour le 0x19f3b0 Zombie?

+0

Vous n'avez pas pu vérifier ce qu'il y a dans cette adresse mémoire avec un débogueur? –

+0

Je ne suis pas sûr de savoir comment faire cela. Merci pour le conseil. Je vais poser une autre question. – buley

Répondre

6

Exécutez l'instrument Allocations et activez "Détection NSZombie" et activez également "libération/conservation de piste". Puis, lorsque vous êtes en cours d'exécution, lorsque le zombie est rencontré, il affiche une alerte et vous permet d'explorer le code libéré et de conserver l'objet d'origine.

1

Généralement, la façon dont je le fais est de rechercher la référence de la mémoire dans l'outil Object allocations. C'est fastidieux, mais vous pouvez généralement le réduire à quelques types de données, dont habituellement un seul aura du sens dans votre contexte.

Bien sûr, je ne fais cela que si je ne peux pas obtenir de bonnes informations sur le débogueur.

Questions connexes