La première fois que je lance l'application, tout semble bien fonctionner. Je vais appuyer sur le bouton d'arrêt, faire un peu de travail et quand je vais le relancer, il semble planter avant même de pouvoir charger quoi que ce soit. Appuyez sur arrêt, appuyez à nouveau sur Exécuter, et cela fonctionne très bien. Jusqu'à ce que je répète le processus.
C'est là que xcode met en évidence l'erreur avec "Thread 1: signal SIGABRT". Évidemment rien d'utile ici.
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([PokerAppDelegate class]));
}
}
La console de débogage n'affiche rien de plus (lldb) (donc je suppose que son arrêt, ne plante pas à ce stade) Donc, quand j'effectue un BT
c'est ce que j'obtiens:
(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)
Voici ce que j'ai fait jusqu'à présent:
Malgré tout cela, les applications se bloquent toujours à chaque seconde/autre lancement.
Le problème est que je n'ai eu aucun problème jusqu'à la dernière mise à jour de Xcode. Serait-ce un bug Xcode?
(EDIT) Je lance également les dernières versions pour développeurs d'OSX. Cela pourrait-il interférer?
Semble être un combinaison d'OS X 10.8.4 et de LLDB . Comme le dit kenster, le passage à GDB fait disparaître le problème.
Modifier:
Cela est dû à une condition de concurrence critique sur le serveur de débogage (j'entends).
Voici un correctif si vous souhaitez continuer à utiliser LLDB: au lieu de cliquer sur Exécuter pendant que l'application est déjà en cours d'exécution dans le simulateur, tuez-le dans Xcode (⌘-.), Dites "J'aime Xcode" 5 fois et exécutez-le à nouveau (⌘- R). Il ne plantera pas, je l'ai testé.
Corrigé dans Xcode 4.6.3.
J'avais aussi ce problème. Jetez un oeil à ce post. l'application Xcode 4.6.2 se bloque à chaque deuxième exécution
Modifiez fondamentalement votre débogueur de LLDB à GDB. Je ne peux pas croire que cela était dû au fait que LLDB était buggé.
Passer à GDB ou redémarrer l'appareil/l'hôte ne résout pas le problème dans mon environnement.
Cependant, la modification de la cible Run dans le schéma XCode associé pour ne plus se lancer automatiquement, mais plutôt pour "Attendre HelloWorld . App pour se lancer" l'a fait.
Le seul inconvénient est que cela implique de démarrer manuellement l'application sur l'appareil. Le débogueur se connecte alors.