2009-02-14 10 views
0

Mon application semble avoir acquis un comportement légèrement étrange lorsqu'elle se termine. Lorsque je ferme la fenêtre principale en utilisant le petit bouton rouge standard en haut à gauche, l'application plante. Je n'ai apporté aucun changement à l'application qui causerait évidemment ce problème. J'ai du mal à déboguer le problème parce que l'application se bloque et mes compétences de débogage sont limitées. Est-ce que quelqu'un sait une raison évidente pour laquelle cela pourrait se produire ou une stratégie de débogage que je pourrais être en mesure d'adopter?L'application Cocoa semble se bloquer lorsque la fenêtre principale est fermée

+0

Première règle de débogage des plantages: Lire (et, en posant des questions sur le plantage ailleurs, publier) le journal de plantage. –

Répondre

3

S'il se bloque avec EXC_BAD_ACCESS (ce qui semble probable, bien que ce ne soit pas le cas - vous ne l'avez pas spécifié), c'est probablement quelque chose à voir avec l'une de vos méthodes dealloc quelque part. L'application dealloc est tout juste avant de quitter, alors assurez-vous de ne pas publier quelque chose qui a été autoreleased, par exemple.

Si vous êtes à l'aise avec GDB, je voudrais essayer peut-être dans la mise en points d'arrêt quelque chose méthodes dealloc et de voir à quel état les trucs que vous publiez peut être.

Crashes comme ceux-ci peuvent être difficiles à déboguer sans faire un peu d'exploration d'abord pour savoir ce qui cause réellement le problème.

+0

Merci pour l'aide, juste repéré le problème et c'était un dealloc escroc. Espérons que mon erreur plutôt stupide pourrait être utile pour signaler le problème à quelqu'un d'autre à l'avenir. –

0

Une nouvelle option dans IB 3 est un paramètre que NSWindows doit libérer lorsqu'il est fermé. Assurez-vous que vous avez coché et/ou garder la fenêtre correctement/

0

Je voudrais aussi dire qu'il doit y avoir une sorte de fuite de mémoire. Vous mentionnez que vos compétences de débogage sont limitées, mais il est en fait assez facile de déboguer ceux avec la nouvelle application Instruments. Voici un très bon article à ce sujet.

Questions connexes