Risolvere l’errore di Xcode EXC_BAD_ACCESS

L’ambiente NSZombieEnabled è utile per tracciare l’errore, molto comune, EXC_BAD_ACCESS il quale è tipicamente causato dal tentativo di accedere ad oggetti e quindi locazioni di memoria che sono già state rilasciate oppure occupate da altro.

Con Xcode 4 il processo per settare l’ambiente NSZombieEnabled è diverso dalle precedenti versioni di Xcode.

Per configurare le impostazioni d’ambiente dobbiamo entrare nel menu di diagnostica di progetto, oppure semplicemente digitando la combinazione di tasti: ⌥-⌘-r (alt-command-r). Una volta che il menu appare spuntiamo l’opzione Enable Zombie Objects.

nszombieenabled

Mentre usiamo uno zombie, qualsiasi messaggio inviato all’oggetto già rilasciato diventerà un eccezione e come tale viene gestita dal terminale di Xcode.

Se si verificasse in un nostro progetto ecco cosa risulterebbe:

nszombieenabled terminal