L'indispensable pour débugger
Petit guide de survie sous Xcode. Si vous êtes à la recherche de bugs sans
arriver à déterminer le moment précis de l'exécution du programme lors duquel le problème
apparaît vous avez besoin de ceci.
Il faut évidemment penser à le désactiver lorsqu'il est inutile, c'est à dire en production bien sur, mais aussi si il n'y pas de problème de mémoire à débugger.

- NSZombieEnabled
- malloc_error_break
- objc_exception_throw
NSZombieEnabled
NSZombieEnabled est un paramètre d'environnement détecté à l'exécution du logiciel. Une fois celui-ci lancé, si un objet est désalloué car son compteur de référence a atteint zéro, il n'est pas réellement détruit mais mis à l'état de zombie. A partir de ce moment là, si un autre objet envoie un message à l'objet désalloué, le programme ne plante pas car il existe toujours Mise en place :Project -> Edit Active Executable "xxx"- Sélectionner le deuxième onglet contenant le nom du projet
- Utiliser le bouton + du tableau Variable to be set in the environnemnt
- Ajouter
NSZombieEnabledet mettre cette valeur àYEScomme sur la capture suivante.

malloc_error_break & objc_exception_throw
Ce sont deux points d'arrêt du déboggeur qui permettent respectivement de s'arrêter lors d'une erreur d'allocation mémoire, et lorsqu'une exception qui n'a pas été rattrapée est levée. Pour les mettre en place, il faut passer par le menuRun -> Show -> Breakpoints
Une fois la fenêtre ouverte, en double-cliquant sur Double-Click for Symbol on peut ajouter
- malloc_error_break
- objc_exception_throw
