¿Cómo habilita NSZombie en Instruments of Xcode 4.1 under Lion?

Esto es SOLAMENTE con respecto al nuevo Xcode 4.1, que se ejecuta específicamente en Lion. ¿Cómo habilita NSZombie en instrumentos? Ya no está en Asignaciones en el ícono (i) bajo Configuración de inicio como en Xcode 4.0. Tampoco hay una input de la Biblioteca llamada Zombies.

Por supuesto, el problema es que no puedo volver a Xcode 4.0 porque se niega a correr con Lion, ¡así que estoy en un pickle! ¿Algún otro desarrollador sangrante usando a Lion que, con más experiencia que yo, puede ayudar a resolver esto? Gracias. -Ric

Recibí esta respuesta muy útil de Apple con respecto a mi propia pregunta. Es textual –

ME: ¿Existe una actualización sobre cómo encontrar esos objects desasignados difíciles, probando en el dispositivo, usando Xcode 4.1.1 y / o Instruments?

APPLE: Primero, el hack que se muestra arriba [en Apple's Forum] ha quedado obsoleto debido a los cambios internos en el sistema operativo, concretamente, la configuration de Zombie ahora la realiza CF. Puedes forzar a los zombis habilitados usando el código que se muestra a continuación:

extern void _CFEnableZombies (void);

int principal (int argc, char ** argv) {_CFEnableZombies ();

... rest of your main ... 

}

IMPORTANTE: la function _CFEnableZombies es privada, por lo que ni siquiera piensas en poner este código en una aplicación de producción. Sin embargo, no es secreto; puedes ver cómo se implementa buscando en el código abierto de Darwin para Lion.

http://www.opensource.apple.com/source/CF/CF-635/CFRuntime.c

Si haces esto, tu aplicación se detendrá (con una exception de puntos de interrupción) cuando menciones a un zombie, independientemente de cómo lo ejecute. Entonces puede ejecutarlo en Instrumentos con el instrumento Asignaciones y get tanto la detección de zombis como el seguimiento de la asignación.

Tenga en count que cuando se envía un zombi el sistema imprime algo como esto:

*** – []: post enviado a la instancia desasignada "

Esto no aparece en el área de la console de Instrumentos; Tendrá que usar Xcode Organizer (o iPCU) para verlo.

Comparte y Disfruta

Quinn "¡El esquimal!" Apple Developer Relations, Soporte técnico para desarrolladores, Core OS / Hardware

ME: espero que sea información útil para algunos de ustedes en esta situación.

Es un instrumento distinto:

Zombies como un instrumento separado

Hay otra forma de ejecutar con NSZombie en el dispositivo, pero esto se hace a través de XCode 4 no instrumentos.

Para ejecutar con NSZombie en el dispositivo abra su XCode Project y click el elemento del menu superior "Producto", mantenga presionado Alt y click "Ejecutar", esto abrirá una window separada donde verá "Variables de entorno" en la parte inferior de la window . Presiona "+" e ingresa "NSZombieEnabled" para el nombre y "SÍ" para el valor.