2010-08-29 16 views
0

J'ai une application iphone avec une vue modale. L'application se bloque lorsque la vue modale est rejetée. Dès que le mode disparaît en bas de l'écran, et par conséquent la vue d'origine est affichée derrière, l'application se bloque sans entrée dans la vue console.dismissModalView crash iphone app, mais pas avec le débogueur sur

J'ai essayé d'activer le débogueur et j'ai découvert que l'application fonctionnait correctement, sans aucun problème.

-D'abord, je voudrais savoir pourquoi un tel comportement, le débogueur ne devrait-il pas être juste au-dessus sans "déranger" l'application? -Deuxième, sans débogueur, pouvez-vous indiquer ce que je devrais regarder pour résoudre mon problème? Ou si vous rencontrez quelque chose de similaire? Veuillez être aussi précis que possible, car je ne suis pas un expert en programmation d'objectifs-c. Je ne sais pas quels détails vous donner, l'application est une normale avec le composant iphone standard, mais pour commencer, je peux dire que la vue modale (qui est construite avec IB) est appelée dans un système NavigationBar.

grâce

Répondre

0

Quand ce genre de choses se produisent, il est presque toujours en raison de problèmes d'allocation de mémoire. La première étape que je voudrais prendre est de faire un "Clean All" et un "Build and Analyze", et de regarder tous les avertissements d'analyse. L'analyse est très efficace pour trouver les types de problèmes «utilisation avant allocation», «utilisation après désallocation» ou «nombre incorrect de retenues/relâches». L'étape suivante consiste à activer le mode de détection "Zombie", qui recherche les accès sur la mémoire qui a déjà été supprimée (en d'autres termes, les objets morts qui reviennent d'un mort.) Pour ce faire, obtenez des informations sur votre exécutable, allez dans l'onglet Arguments, et ajoutez une "variable à définir dans l'environnement" de "NSZombieEnabled" à la valeur "YES". Ensuite, regardez dans la console quand vous courez pour voir si quelque chose se détache. Enfin, vous pouvez essayer de créer une nouvelle configuration dans laquelle vous utilisez tous les paramètres du mode de publication pour l'optimisation, mais ajoutez des symboles de débogage. Peut-être que cela va secouer le déboursement d'allocation en mémoire suffisamment pour déclencher le bug en mode debug.