Respuestas:
Las variables de entorno ahora son parte del "esquema".
Para editar el esquema y activar zombies:
En el menú "Producto", seleccione "Editar esquema".
Vaya a la etapa "Ejecutar Foo.app" en el panel izquierdo y la pestaña "Argumentos" a la derecha.
Agregue NSZombieEnabled
a la sección "Variables de entorno" y establezca el valor en YES
, como podría hacerlo en Xcode 3.
En Xcode 4.1 y superior , también hay una casilla de verificación en la pestaña "Diagnóstico" de la etapa "Ejecutar" para "Habilitar objetos zombis".
Con Xcode 6.4:
Encontré el mismo problema con la resolución de problemas EXC_BAD_ACCESS y tuve dificultades para encontrar la configuración con Xcode 4.2 (la última que viene con iOS5 SDK). Apple sigue moviendo cosas y la configuración ya no está donde solía estar.
Afortunadamente, lo encontré y funciona para el dispositivo, no solo para Simulator. Debe abrir el menú Producto en Xcode, seleccionar Editar esquema y luego elegir la pestaña Diagnóstico. Ahí tienes "Habilitar objetos Zombie". ¡Una vez seleccionado y ejecutado en el depurador, te indicará el objeto doblemente liberado! ¡Disfrutar!
En breve
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
Producto> Perfil lanzará Instrumentos y luego debería haber una "Plantilla de seguimiento" llamada "Zombis". Sin embargo, esta plantilla de rastreo solo está disponible si el destino de compilación actual es el simulador; no estará disponible si tiene el destino configurado en su dispositivo iOS.
También otra cosa a tener en cuenta es que no hay un instrumento Zombies real en la biblioteca de instrumentos. La plantilla de rastreo de zombies en realidad consiste en el instrumento de asignaciones con el conjunto de configuración de inicio "Habilitar detección de NSZombie".
Es una simple cuestión de configurar una variable de entorno en su ejecutable (NSZombieEnabled = YES)
, y luego ejecutar / depurar su aplicación de manera normal NSLog
.
Para obtener más información, consulte esta página de CocoaDev: http://www.cocoadev.com/index.pl?NSZombieEnabled
Además, este proceso será mucho más fácil con el lanzamiento de 10.6 y las próximas versiones de Xcode e Instruments. Solo digo'. =)
Producto> El perfil desplegará los instrumentos. Selecciona zombies del panel y enloquece.
Aquí hay un video y una explicación de cómo usar Instruments y NSZombie para encontrar y reparar fallas de memoria en iOS: http://www.markj.net/iphone-memory-debug-nszombie/
A partir de Xcode 3.2.5 y Snow Leopard (Mac OS X 10.6), puede ejecutar su código a través del instrumento Zombis: Run > Run with Performance Tool > Zombies
. Eso le permite ver objetos particulares y sus conteos en una línea de tiempo.
Para habilitar el registro de Zombie, haga doble clic en el ejecutable en el grupo de ejecutables de su proyecto Xcode. En este punto, haga clic en la pestaña Argumentos y, en la Variables to be set in the environment:
sección, cree una variable llamada NSZombieEnabled
y establezca su valor en YES
.
En las preferencias de su ejecutable, agregue la variable de entorno NSZombieEnabled
y establezca el valor en YES
.
en su XCODE (4.3) al lado del botón de reproducción :) (ejecutar)
seleccionar: editar esquema
se abrirá la ventana de administración del esquema
haga clic en la pestaña Argumentos
debería ver: 1- Argumentos pasados en el lanzamiento 2- Variables de entorno
dentro del lugar (2- variables de entorno) Nombre: NSZombieEnabled
Valor: SÍ
Y está hecho ...
NSZombieEnabled se utiliza para depurar BAD_ACCESS,
habilite la variable de entorno NSZombiesEnabled de la hoja de esquemas de Xcode.
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
Este video te ayudará a ver lo que estoy tratando de decir.