xcode nszombie

¿Cómo habilitar NSZombie en Xcode?



(15)

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 Zombies: Run > Run with Performance Tool > Zombies . Eso le permite ver objetos particulares y sus recuentos retenidos en una línea de tiempo.

Tengo una aplicación que se bloquea sin un seguimiento de errores. Puedo ver parte de lo que sucede si depuro, pero no puedo averiguar qué objeto es "zombie-ing".

¿Alguien sabe cómo habilitar NSZombie en Xcode 4?



En XCode 4.0: Para detectar NSZombie en instrumentos, seleccione el simulador como su objetivo (no puede detectar NSZomboe en el dispositivo). Ejecute Instruments (CMD + I) y seleccione la plantilla de rastreo "Zombies". Disfrutar.


En Xcode 4.5.2, goto Producto -> Editar esquema -> y debajo de la pestaña Diagnóstico, marque la casilla de verificación entre Objetivo C y Habilitar objetos de zombi y haga clic en Aceptar


En las preferencias de su ejecutable, agregue la variable de entorno NSZombieEnabled y establezca el valor en YES .


En xcode 4.2

Ir a, Producto -> editar esquema -> hacer clic en Ejecutar yourappname.app -> Diagonosis -> Habilitar objeto Zombie.


Encontré el mismo problema con la solució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, se le indicará el doble objeto liberado. ¡Disfrutar!

En breve

Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects


Es una simple cuestión de configurar una variable de entorno en su ejecutable (NSZombieEnabled = YES) , y luego ejecutar / depurar su aplicación como de NSLog . Si NSLog un mensaje a un zombie, su aplicación se bloqueará / interrumpirá en el depurador y NSLog un mensaje para usted.

Para obtener más información, visite 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 Instrumentos. Solo digo''. =)


Ir a Producto - Esquema - esquema de edición - Argumentos - Conjunto de variables de entorno NSZombieEnabled = YES


Las variables de entorno son ahora parte del "esquema".

Para editar el esquema y encender 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 pudo en Xcode 3.

En Xcode 4.1 y superior , también hay una casilla de verificación en la pestaña "Diagnósticos" de la etapa "Ejecutar" para "Habilitar objetos de zombies".

Con Xcode 6.4:


NSZombieEnabled se utiliza para depurar BAD_ACCESS,

habilite la variable de entorno NSZombiesEnabled desde 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.


Para habilitar el registro de Zombie, haga doble clic en el archivo ejecutable en el grupo de ejecutables de su proyecto Xcode. En este punto, haga clic en la pestaña Argumentos y en la sección Variables to be set in the environment: NSZombieEnabled una variable llamada NSZombieEnabled y establezca su valor en YES .


Producto> Aparecerá el perfil de instrumentos. Selecciona zombies del panel y vuelve loco.


Producto> Perfil lanzará Instruments y luego debería haber una "Plantilla de seguimiento" llamada "Zombies". 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 para su dispositivo iOS.

Otra cosa a tener en cuenta es que no hay un instrumento real de Zombies en la biblioteca de instrumentos. La plantilla de rastreo de zombies consiste realmente en el instrumento de Asignaciones con el conjunto de configuración de inicio "Habilitar detección NSZombie".


en tu XCODE (4.3) al lado del botón de reproducción :) (correr)

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 (las 2 variables de entorno) Nombre: NSZombieEnabled
Valor: sí

Y esta hecho ....