Cuando estaba depurando mi aplicación de iPhone, obtuve un error y la aplicación se bloqueó. Agregué un punto de interrupción de exception, pero no apuntó a ningún lugar en el código y se estrelló en main.m
Aquí estoy agregando la captura de pantalla de la window XCode cuando la aplicación se bloqueó.
¿Cómo puedo encontrar el problema exacto para el crash de este?
¿Es posible? Por favor ayuda.
Habilite Zoombie para que obtenga la descripción del error en el logging.
Si editas el esquema para el que quieres activar zombies (en el menu "Producto", selecciona "Editar esquema"), ve a la etapa "Ejecutar Foo.app" en el panel izquierdo y a la pestaña "Argumentos" en derecho. A continuación, puede agregar NSZombieEnabled a la sección "Variables de entorno" y establecer el valor en SÍ, como podría hacerlo en Xcode 3.
En Xcode 4.1 y superior, también hay una checkbox en la pestaña "Diagnóstico" de la etapa "Ejecutar" para "Habilitar objects zombis".
click EditScheme en XCode. entonces la pantalla se mostrará como a continuación. click Habilitar objects zombis. Mostrará error en su logging.
Agregue un punto de interrupción de exception y el depurador se detendrá en la línea que falla.
No estoy seguro pero la lectura de los loggings podría ayudar.
Primero, vaya a la pestaña Excepciones y 'Agregue el punto de interrupción de exception' usando el signo + en la esquina inferior izquierda.
Luego, cuando la aplicación se bloquee, click "0 objc_exception_throw" en el subprocess 1
Finalmente en la console, ingrese:
po $ rax (normalmente la exception está en 'rax')
(debería ver la salida de exception en la console)
Espero que esto ayude.