La primera vez que abro la aplicación, todo parece funcionar bien. Presionaré el botón de detener, trabajaré un poco y cuando voy a iniciarlo nuevamente, parece fallar antes de que pueda cargar nada. Presiona detener, presiona Ejecutar nuevamente y funciona bien. Hasta que repito el proceso.
Aquí es donde xcode resalta el error con "Subproceso 1: señal SIGABRT". Obviamente nada útil aquí.
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([PokerAppDelegate class]));
}
}
La consola de depuración no muestra nada además de (lldb) (así que supongo que se detiene, no se bloquea en este punto) Entonces, cuando realizo un BT
esto es lo que obtengo:
(lldb) bt
* thread #1: tid = 0x1c03, 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x9a258a6a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x99ea1b2f libsystem_c.dylib`pthread_kill + 101
frame #2: 0x04a7057b libsystem_sim_c.dylib`abort + 140
frame #3: 0x01dc0b4e GraphicsServices`GSRegisterPurpleNamedPort + 348
frame #4: 0x01dc069f GraphicsServices`_GSEventInitialize + 123
frame #5: 0x01dc0c1f GraphicsServices`GSEventInitialize + 36
frame #6: 0x000163f9 UIKit`UIApplicationMain + 600
frame #7: 0x00001d0d Guitar Chord Poker HD`main(argc=1, argv=0xbffff32c) + 141 at main.m:16
frame #8: 0x00001c35 Guitar Chord Poker HD`start + 53
(lldb)
Esto es lo que he hecho hasta ahora:
- Realizó una 'limpieza'
- Reinicié los simuladores y reinicié mi computadora
- He comentado todo el código en el controlador de vista, todavía falla
- He comentado todo el código en el delegado de la aplicación, todavía falla
- PERO .... He ejecutado la aplicación en un dispositivo fuera de Xcode, y parece funcionar perfectamente bien.
- (EDITAR) Eliminé / reinstalé xcode y todo el contenido (Simuladores, Documentos) de las diversas carpetas de caché (Esto evita que xcode reinstale automáticamente las antiguas después de una nueva descarga). Sin embargo, todavía no puedo encontrar dónde se guardan las herramientas de línea de comandos. Todavía se bloquea.
A pesar de todo esto, las aplicaciones aún fallan cada segundo / otro lanzamiento.
La cosa es que no tuve problemas hasta la actualización más reciente de Xcode. ¿Podría ser un error de Xcode?
(EDITAR) También estoy ejecutando las últimas versiones para desarrolladores de OSX. ¿Podría eso estar interfiriendo?
Respuestas:
Parece ser una combinación de OS X 10.8.4 y LLDB . Como dice Kenster, cambiar a GDB hace que el problema desaparezca.
Editar:
Es causado por una condición de carrera en el servidor de depuración (escuché).
Aquí hay una solución si desea seguir usando LLDB: en lugar de hacer clic en Ejecutar mientras la aplicación ya se está ejecutando en el simulador, elimínela en Xcode (⌘-.), Diga "Me encanta Xcode" 5 veces y ejecútelo nuevamente (⌘- R). No chocará, lo probé.
Corregido en Xcode 4.6.3.
fuente
Yo también estaba teniendo este problema. Mira esta publicación. La aplicación Xcode 4.6.2 se bloquea cada segunda ejecución
Básicamente, cambie su depurador de LLDB a GDB. No puedo creer que esto se deba a que LLDB tiene errores.
fuente
Cambiar a GDB o reiniciar el dispositivo / host no resuelve el problema en mi entorno.
Sin embargo, se modificó el objetivo Ejecutar en el esquema XCode asociado para que ya no se inicie automáticamente, sino para "Esperar a que se inicie HelloWorld .app" .
El único inconveniente es que esto implica iniciar manualmente la aplicación en el dispositivo. Luego, el depurador se conectará.
fuente