32 votes

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 l'étape au cours d'un appel. Sans débogueur, il fonctionne très bien.

Aussi, lorsque je lance l'application dans le simulateur il woks amende avec ou sans débogueur.

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

Quelles sont les causes de la question et comment pourrais-je résoudre ce problème?

Ci-dessous est la trace. Mon appli utilise l'ARC. J'ai activé les zombies et ajouté exception de point d'arrêt, mais pas de zombies où détecté et à l'exception de point d'arrêt 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

EDIT:

Je avez la dernière version de Xcode Version 5.0.1 (5A2053).

J'ai créé une nouvelle application à partir de zéro et il a couru sans problèmes. Puis j'ai mis un point d'arrêt en ViewControllers' viewDidLoad et essayé de l'étape sur. Ici j'ai eu un autre crash

* 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 le XCode 5 se bloque lors de l'exécution de l'application sur l'appareil suggère d'

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 il n'a pas aidé.

J'ai essayé d'utiliser un autre appareil, et il fait une différence. Des Exceptions sont toujours là si j'utilise un iPod Touch avec iOS 6.1, mais l'iPad avec iOS 7.0.2 fonctionne très bien.

Donc il semble que le problème est lié à la version d'iOS installée sur l'appareil. Je ne sais pas encore quoi faire pour le résoudre.

EDIT 3:

Mes Outils de Ligne de Commande version correspond à mon Xcode version (je n'ai qu'une version des Outils de Ligne de Commande, en fait).

La questions est probablement pas lié au code en cours de débogage. Il se bloque avec nouvellement créé Vue Unique Application créée par Xcode. Et il se bloque en faisant un pas de plus trivial code:

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

J' ai demandé sur l'Apple Developer Forum et a obtenu suivant la réponse de Jason Molenda:

Nous allons suivre un bug qui sonne comme ce que vous voyez ici. Il est un subtil problème de synchronisation qui nécessite un peu moins d'hôte de la machine ou de un peu plus lent de l'appareil de frapper. C'est principalement l'iPhone 4 et similaires qui va voir cela avec iOS 7. Avec iOS 6, iPhone 4 et iPhone 3GS les appareils sont plus susceptibles de faire l'expérience. ... Cette question ne arriver avec Xcode 5.0.1.

Donc, il me semble que c'est un bug dans Xcode.

23voto

Bobrovsky Points 5662

Ok, c'est certainement un bug dans Xcode 5.0.1.

Ceci est confirmé par Jason Molenda sur l'Apple Developer Forum. La seule solution pour l'instant est d'utiliser l'ancienne version de Xcode et l'ancienne version de Mac OS X parce que Xcode 5 nécessite OS X 10.8.4.

Il n'est pas annoncé de l'ETA pour un correctif pour ce problème. Question directe sur l'ETA sur l'Apple Developer Forum est laissée sans réponse.

Mise à JOUR 06-Nov-2013:

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

Débogage d'une application sur un périphérique iOS 6.x les causes de la l'application crash avec EXC_BAD_ACCESS. Ce problème a été résolu. (15310896)

J'ai installé la nouvelle version et la question est en effet disparu. Maintenant, je suis en mesure de déboguer des applications sur mon 6.x les dispositifs de nouveau.

Jason Molenda dans le thread sur l'Apple Developer Forum , a déclaré:

Je me suis dit que vous pouvez soumettre des applications de l'app store avec cette Xcode 5.0.2 de la graine.

3voto

Max Points 2426

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 fonctionnent, mais lorsque je débogue, je ne peux pas passer en revue certaines lignes car je reçois EXC_BAD_ACCESS.

Donc, je dois me souvenir des lignes que je ne peux pas passer avec Step Over et placer un point d'arrêt après ces lignes ou utiliser Continuer vers ligne pour sauter par-dessus ces lignes problématiques.

PS

Téléchargé Xcode 5.0.2 GM seed et le débogage est bien meilleur. Jusqu'ici, j'ai passé 30 minutes avec le nouveau Xcode.

3voto

Vincent Points 261

Veuillez vous connecter au site des développeurs et télécharger Xcode 5.0.2 semences GM, il a réparé ce bug.
Voir les notes de version.

Mise À Jour 12-Nov-2013
Xcode 5.0.2 a publié, vous pouvez le télécharger depuis le Dev Center

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X