Question

J'ai un crash qui se produit profondément dans UIKit pour une raison quelconque; une erreur EXC_BAD_ACCESS est en train de se produire, 8 appels au plus dans un appel de rejetModalViewController. J'ai essayé d'activer NSZombieEnabled pour mon exécutable, mais le journal de la console affiche la même erreur, que les zombies soient activés ou non, et je ne sais pas quel objet est à l'origine du problème. Y a-t-il quelque chose qui me manque que je dois faire pour que la console imprime les informations correctes?

Était-ce utile?

La solution

Découvrez comment utiliser les zombies ici .

Exécutez ceci dans gdb. Lorsque vous obtenez le EXC_BAD_ACCESS , examinez la pile à ce stade (utilisez la commande where de gdb ou exécutez le débogueur d'interface graphique Xcode). Si vous rencontrez toujours des problèmes, postez la pile dans votre question initiale.

De plus, les zombies ne vous aideront que si vous traitez avec des NSObjects. Si vous utilisez des routines de bas niveau malloc / free, les zombies ne vous achètent rien pour ces allocations.

Autres conseils

Une chose que j'ai apprise le week-end dernier lorsque NSZombieEnabled ne semblait pas fonctionner du tout - assurez-vous de ne pas transmettre un non-objet à du code.

Dans mon cas, je renvoyais une chaîne NSString uniquement sous forme de "chaîne". au lieu de @ "chaîne". Cela signifiait que je remplaçais un objet NSString par la chaîne de caractères. Lorsque j'ai essayé par la suite d'écrire une nouvelle valeur dans cet objet, je recevais un BAD_ACCESS. NSZombie ne pouvait pas aider car ce n'était pas un objet que j'essayais d'écraser, mais ce c-string.

En passant, traitez tous les avertissements comme des erreurs dans XCode. J'aimerais pouvoir les faire apparaître en ROUGE dans l'interface graphique de l'IDE. Ils sont parfois faciles à manquer.

On dirait que quelque chose est sorti en trop dans votre contrôleur de vue modal. Commencez par commenter les nouvelles lignes jusqu'à ce que la ligne s'arrête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top