Cómo rastrear el problema exacto del locking en iOS

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ó.

introduzca la descripción de la imagen aquí ¿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.

introduzca la descripción de la imagen aquí

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. introduzca la descripción de la imagen aquí

Luego, cuando la aplicación se bloquee, click "0 objc_exception_throw" en el subprocess 1 introduzca la descripción de la imagen aquí

Finalmente en la console, ingrese:

  • logging leído (debe get una list de loggings)
  • po $ rax (normalmente la exception está en 'rax')

    (debería ver la salida de exception en la console)

Espero que esto ayude.