EXC_BAD_ACCESS (code = 1, adresse = 0x0) lors de la progression dans le débogueur

Mon application se bloque à chaque fois que j'essaie de passer un appel. Sans débogueur, cela fonctionne très bien.

Aussi, quand je cours l'application dans le simulateur cela fonctionne bien avec ou sans débogueur.

Récemment, j'ai mis à jour mon Mac OS X 10.8 à 10.9 (Mavericks). Il n'y avait aucun problème avant la mise à niveau.

Quelles sont les causes du problème et comment pourrais-je le réparer?

Voici la trace arrière. Mon application utilise ARC. J'ai activé les zombies et ajouté le point d'arrêt d'exception, mais aucun zombies où détecté et point d'arrêt d'exception n'est jamais déclenché.

* thread #1: tid = 0x2503, 0x00000000, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x00000000 frame #1: 0x35e170c4 UIKit`-[UIApplication sendAction:to:from:forEvent:] + 72 frame #2: 0x35e17076 UIKit`-[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30 frame #3: 0x35e17054 UIKit`-[UIControl sendAction:to:forEvent:] + 44 frame #4: 0x35e1690a UIKit`-[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502 frame #5: 0x35e16e00 UIKit`-[UIControl touchesEnded:withEvent:] + 488 frame #6: 0x35d3f5f0 UIKit`-[UIWindow _sendTouchesForEvent:] + 524 frame #7: 0x35d2c800 UIKit`-[UIApplication sendEvent:] + 380 frame #8: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154 frame #9: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590 frame #10: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34 frame #11: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 frame #12: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138 frame #13: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384 frame #14: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356 frame #15: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104 frame #16: 0x37a1d2ea GraphicsServices`GSEventRunModal + 74 frame #17: 0x35d80300 UIKit`UIApplicationMain + 1120 frame #18: 0x000faac8 MyApp`main(argc=1, argv=0x2fd0fd08) + 116 at main.m:16 

MODIFIER:

J'ai la dernière version de Xcode 5.0.1 (5A2053).

J'ai créé une nouvelle application à partir de zéro et l'ai couru sans problèmes. Ensuite, j'ai mis un point d'arrêt dans ViewController de viewDidLoad et viewDidLoad essayé de passer au-dessus. Ici, j'ai eu un autre accident

 * thread #1: tid = 0x2503, 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x4) frame #0: 0x3bb9d7c4 libobjc.A.dylib`objc_msgSendSuper2 + 4 frame #1: 0x000b913a test`-[ViewController viewDidLoad](self=0x1cda5c70, _cmd=0x361bd5db) + 62 at ViewController.m:19 frame #2: 0x35d4b594 UIKit`-[UIViewController loadViewIfRequired] + 364 frame #3: 0x35d8bd78 UIKit`-[UIWindow addRootViewControllerViewIfPossible] + 64 frame #4: 0x35d87aec UIKit`-[UIWindow _setHidden:forced:] + 364 frame #5: 0x35dc91e8 UIKit`-[UIWindow makeKeyAndVisible] + 60 frame #6: 0x35d8c83e UIKit`-[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1666 frame #7: 0x35d8484a UIKit`-[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 698 frame #8: 0x35d2cc38 UIKit`-[UIApplication handleEvent:withNewEvent:] + 1004 frame #9: 0x35d2c6cc UIKit`-[UIApplication sendEvent:] + 72 frame #10: 0x35d2c11a UIKit`_UIApplicationHandleEvent + 6154 frame #11: 0x37a1e5a2 GraphicsServices`_PurpleEventCallback + 590 frame #12: 0x37a1e1d2 GraphicsServices`PurpleEventCallback + 34 frame #13: 0x33ef9172 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34 frame #14: 0x33ef9116 CoreFoundation`__CFRunLoopDoSource1 + 138 frame #15: 0x33ef7f98 CoreFoundation`__CFRunLoopRun + 1384 frame #16: 0x33e6aebc CoreFoundation`CFRunLoopRunSpecific + 356 frame #17: 0x33e6ad48 CoreFoundation`CFRunLoopRunInMode + 104 frame #18: 0x35d83484 UIKit`-[UIApplication _run] + 668 frame #19: 0x35d80300 UIKit`UIApplicationMain + 1120 frame #20: 0x000b93bc test`main(argc=1, argv=0x2fd51d30) + 116 at main.m:16 frame #21: 0x3bfd9b20 libdyld.dylib`start + 4 

EDIT 2:

Greg Clayton dans les crashs XCode 5 lors de l'exécution de l'application sur l'appareil suggère de suivre

 Others have seen this issue. A few things to try: 1 - Reboot your device and try again. The theory is an old developer disk image is already mounted and won't be unmounted until you reboot. 2 - Re-install the OS on the device Hopefully #1 fixes your issue. Others have done #2 and had their issue fixed, but hopefully it doesn't require an OS re-install. 

J'ai fait les deux et cela n'a pas aidé.

J'ai essayé d'utiliser un autre appareil et cela a fait la différence. Les exceptions sont toujours là si j'utilise iPod Touch avec iOS 6.1 mais iPad avec iOS 7.0.2 fonctionne très bien.

Donc, il semble que le problème est lié à la version iOS installée sur l'appareil. Je ne suis toujours pas sûr de ce qu'il faut faire pour le réparer.

EDIT 3:

Ma version des outils de command line correspond à ma version de Xcode (je n'ai en fait qu'une seule version des outils de command line).

Les problèmes ne sont probablement pas liés au code en cours de debugging. Il se bloque avec la nouvelle application Single View créée par Xcode. Et il se bloque en enjambant le code sortingvial:

 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } 

J'ai demandé sur le Forum des développeurs Apple et a reçu la réponse suivante de Jason Molenda:

Nous suivons un bug qui ressemble à ce que vous voyez ici. C'est un problème de minutage subtil qui nécessite une machine hôte légèrement plus lente ou un périphérique légèrement plus lent à bash. C'est principalement l'iPhone 4 et similaire qui verra cela avec iOS 7. Avec les appareils iOS 6, iPhone 4 et iPhone 3GS, il y a plus de chances de l'expérimenter. … Ce problème ne se produira qu'avec Xcode 5.0.1.

Donc, il semble que ce soit un bug dans Xcode.

Ok, c'est définitivement un bug dans Xcode 5.0.1.

Ceci est confirmé par Jason Molenda sur Apple Developer Forum . La seule solution de contournement pour l'instant consiste à utiliser une version antérieure de Xcode et l'ancienne version de Mac OS X car Xcode 5 requirejs OS X 10.8.4.

Il n'y a aucun ETA annoncé pour un correctif pour ce problème. Question directe sur ETA sur Apple Developer Forum est laissé sans réponse.

MISE À JOUR 06-Nov-2013:

Aujourd'hui, une version préliminaire de Xcode 5.0.2 est disponible sur developer.apple.com . Cette version corrige (entre autres) le problème suivant:

Le debugging d'une application sur un périphérique exécutant iOS 6.x provoque le blocage de l'application avec EXC_BAD_ACCESS. Cela a été résolu. (15310896)

J'ai installé la nouvelle version et le problème est bel et bien parti. Maintenant, je suis capable de déboguer les applications sur mes appareils 6.x à nouveau.

Jason Molenda dans thread sur Apple Developer Forum a déclaré:

On me dit que vous pouvez soumettre des applications à l'App Store avec cette graine Xcode 5.0.2.

Je confirme que j'ai exactement le même bug. Mon application a bien fonctionné. Après la mise à niveau vers Xcode 5 et le code Mavericks, mais quand je débogue, je ne peux pas passer sur certaines lignes quand j'obtiens EXC_BAD_ACCESS.

Je dois donc me souvenir des lignes que je ne peux pas passer avec Step Over et mettre un point d'arrêt après ces lignes ou utiliser Continue to Line pour sauter par-dessus ces lignes problématiques.

PS

Xcode 5.0.2 GM seed téléchargé et le debugging est beaucoup mieux. J'ai passé 30 minutes avec le nouveau Xcode jusqu'à présent.

S'il vous plaît connectez-vous au site développeur et téléchargez la graine GM Xcode 5.0.2 , il a corrigé ce bug.
Voir les notes de version .

Mise à jour 12-Nov-2013
Xcode 5.0.2 est sorti, vous pouvez le download à partir du Centre de développement