2012-01-05 18 views
9

Cada vez que ejecuto mi aplicación en el simulador de iPad, funciona sin problemas. Pero, cuando lo ejecuto en el simulador de iPhone, cuando hago clic en el botón de inicio, aparece un error en Xcode en mi archivo main.m, que dice "Subproceso 1: Señal de programa recibida: SIGABRT". Está resaltando esta línea en el código de mi main.m: return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));Xcode 4.2 SIGABRT Error

Este problema no ocurre cuando presiono el botón de inicio en el simulador de iPad. He investigado mucho sobre este error, pero no apareció nada útil. ¿Alguien sabe cómo arreglar esto?

Editar: aquí hay algo más de información desde la consola del depurador

"No se pudo registrar None.TestApplication con el servidor de arranque de error:.. Código de error desconocido Esto generalmente significa que otra instancia de este proceso ya estaba correr o se cuelga en las debugger.sharedlibrary apply-carga-reglas todo idioma actual: auto; actualmente Objective-C (BGF)

+0

SIGABRT generalmente significa que el programa arrojó una excepción. Debería haber más información en la consola del depurador. Debe editar su pregunta para incluir esa información. Además, puede establecer un punto de interrupción en 'objc_exception_throw' para obtener el seguimiento de la pila donde se produce la excepción. –

+0

Gracias, agregué más información. – John

Respuesta

14

la línea de UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); sólo significa que ha generado una excepción durante la ejecución de su programa . Esto puede variar desde un problema de memoria, a un simple runti yo error Mire en la consola del depurador de destino; le dirá dónde ocurrió el error.

Editado debido a pregunta editado: He resuelto esta pregunta antes de restablecer el simulador de iOS a los valores de fábrica (Abrir el menú "simulador de iOS" en la parte superior izquierda -> Restablecer la configuración de contenido y). A continuación, salga del simulador de iOS y Xcode, y luego reinicie su computadora. Esto eliminará la otra instancia del proceso.

+0

Gracias, edité el OP con más información. – John

+0

Mejorado para ediciones de preguntas – DGund

+1

Muchas gracias. Simplemente lo hice, pero obtuve exactamente el mismo error. Para restaurar el simulador a los valores predeterminados de fábrica, solo voy al menú desplegable "Simulador de iOS" y selecciono "Restablecer contenido y configuración" ¿verdad? Lo siento si esta es una pregunta tonta, todavía soy un principiante. – John

5

Me encontré con el mismo problema (de hecho, desperdicié alrededor de 2 horas). No hubo excepción lanzada. Finalmente encontré una respuesta como esta. Restablecer y reiniciar el simulador y XCode no me lo quitó, pero sí un reinicio.

Por lo tanto, si ve esto, y NO hay algo acerca de las excepciones en el backtrace, entonces creo que un reinicio de su máquina es probable que lo solucione.

3

Hice todo lo anterior, incluyendo reiniciar mi computadora, reiniciar el simulador pero nada funcionó, así que terminé teniendo que copiar todos los archivos en una carpeta separada, crear un nuevo proyecto y reconstruir mi archivo de punta y luego copiar y pegar desde el archivos en mi carpeta separada en mi nuevo proyecto. Realmente bastante desagradable. Si nada funciona para ustedes y su aplicación no es demasiado compleja, esta puede ser una alternativa. Tal vez no sea el mejor, pero a prueba de agua.

3

He tenido problemas muy similares y he descubierto que si cambio del depurador LLDB a GDB (desde el menú Producto/Esquema/Editar esquema) el problema desaparece. Vale la pena intentarlo.

1

En mi caso tenía un código en viewDidLayoutSubviews, que actualizaba el diseño y causaba que viewDidLayoutSubviews se llamara de nuevo entrando en un bucle infinito. Mover este código resolvió este error.

Supongo que cualquier bucle infinito en el hilo principal termina siendo una excepción no detectada.

Cuestiones relacionadas