Exceptions dans Xcode 4.5
muqaddar
Administrateur
Salut,
Mes exceptions ne s'affichent plus dans Xcode 4.5.
Cas typique: aller chercher l'item 0 d'un array vide. Je me retrouve direct dans l'hexadecimal après le plantage.
Je suppose que j'ai un tag à changer dans mes build settings, mais où ?
Mes exceptions ne s'affichent plus dans Xcode 4.5.
Cas typique: aller chercher l'item 0 d'un array vide. Je me retrouve direct dans l'hexadecimal après le plantage.
Je suppose que j'ai un tag à changer dans mes build settings, mais où ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est déjà mieux, ça m'amène bien à la ligne qui contient le bug, mais j'aimerais savoir pourquoi mon exception ne s'affiche plus dans la console.
Cela me semble vraiment interessant! Je ne connaissait pas.
Sa permet de avoir un Break des que une exeption est générée?
Que veux tu dire par " (J'en ai toujours un, partagé dans ma session donc présent dans tous mes projets Xcode que j'ouvre automatiquement) "
Désolé pour la question novice, mais cela semble vraiment pertinent!
+1
Si vous avez laissé les réglages par défaut (en particulier "On Throw" et non "On Catch", le code va s'arrêter juste avant que l'exception soit levée (on throw), ce qui permet en plus de garder le contexte d'exécution et de savoir exactement à quelle ligne l'exception à eu lieu (plutôt que de se retrouver comme parfois dans le main à la fin de l'exception car le code a été levé à la RunLoop ou des choses comme ça)
Bien sûr, comme pour tout breakpoint, vous pouvez rajouter des actions (jouer un son, faire prononcer du texte par votre Mac genre "Attention chérie, ça va couper !" /biggrin.png' class='bbc_emoticon' alt=':D' /> ou autre).
2) Pour faire en sorte que le Breakpoint ne soit pas attaché uniquement au projet courant, mais soit partagé par tous vos projets Xcode de votre session utilisateur quels qu'ils soient, faire un clic droit sur le Breakpoint dans la liste et choisir "Move Breakpoint To" -> "User"
Super ! /thumbsup.gif' class='bbc_emoticon' alt='' />
bien vu !
Une astuce http://www.fruitstandsoftware.com/blog/2012/08/quick-and-easy-debugging-of-unrecognized-selector-sent-to-instance/ pour les unrecognized selector
Et merci à toi pour cette astuce /smile.png' class='bbc_emoticon' alt=':)' />
On peut mettre des breakpoints sur des lignes bien sûr, ça tout le monde le sait, mais aussi sur des symboles, sur des exceptions, mettre des conditions sur ces breakpoints, et faire diverses actions lorsque le breakpoint est "hit", à savoir pas forcément arrêter l'exécution du code, mais faire d'autres choses, comme :
Etc, etc. (cf la doc pour plus d'infos, comme toujours)
J'ai découvert récemment qu'on pouvait déplacer le point d'exécution dans le code.
C'est-à -dire suite à un arrêt sur un breakpoint, on peut déplacer le petit curseur vert qui indique la prochaine ligne qui sera exécutée. On peut donc sauter des lignes ou revenir en arrière. Bien sûr ça peut "faire n'importe quoi" mais cela peut-être utile pour comprendre ce qui se passe dans une fonction sans avoir à relancer l'exécution depuis le début.
J'ai toujours cru que cette fonction n'existait pas sur Xcode puisqu'il n'y a aucun menu qui s'y rapporte.