App crashing … objc_exception_throw

Mi aplicación sigue fallando en un momento. No me dice por qué, el punto de exception se produce en

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

así que no tengo idea de qué está causando el crash. En el lado izquierdo, me dice que fue por objc_expcetion_throw. ¿Cómo puedo depurar esto? Gracias

En casos como este, crearé un punto de quiebre que rompe todas las excepciones. Este es el punto de interrupción pnetworkingeterminado que se crea si simplemente hace clic en el button Agregar en la pestaña de punto de interrupción.

Con este punto de interrupción, XCode se detendrá en el punto de la exception y veré la línea de código donde sucedió junto con la stack.

¡Hubiera publicado una image de esto, pero no tengo suficiente representante!

Use un @try / @catch :

 @try { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } @catch (NSException *ex) { // log ex... } 

O puede usar el controller de excepciones no capturado:

 void uncaughtException(NSException *except) { // log Except NSLog(@"Exception!"); } NSSetUncaughtExceptionHandler(uncaughtException); return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

Finalmente, siempre puedes romper las excepciones objc:

 Product->debug->create symbolic breakpoint Symbol: objc_exception_throw 

Siga los consejos de Richard e implemente el controller uncaughtException . Establezca un punto de interrupción en el manejador. Cuando la exception se dispare, escriba esto en su console de salida:

 po [except callStackSymbols] 

Eso debería darle más detalles sobre el origen de la exception.

Nota: except es el nombre de la variable de exception que usó.