2013-10-25 25 views
32

La mia applicazione si arresta in modo anomalo ogni volta che provo a passare una chiamata. Senza debugger funziona bene.EXC_BAD_ACCESS (codice = 1, indirizzo = 0x0) quando si esegue il debugger

Inoltre, quando eseguo l'app nel simulatore, funziona bene con o senza debugger.

Recentemente ho aggiornato il mio Mac OS X da 10.8 a 10.9 (Mavericks). Non ci sono stati problemi prima dell'aggiornamento.

Quali sono le cause del problema e come è possibile risolverlo?

Di seguito è riportata la traccia posteriore. La mia app utilizza ARC. Ho abilitato gli zombi e aggiunto il punto di interruzione delle eccezioni, ma nessuno zombi in cui i rilevamenti e i punti di interruzione delle eccezioni non sono mai stati attivati.

* 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:

Ho ultima Xcode la versione 5.0.1 (5A2053).

Ho creato una nuova app da zero e l'ho eseguita senza problemi. Poi ho inserito un punto di interruzione nel ViewController di viewDidLoad e ho cercato di scavalcare. Qui ho avuto un altro incidente

* 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 nel XCode 5 Crashes while running the app on device suggerisce di seguire

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. 

ho fatto entrambi e non ha aiutato.

Ho provato a utilizzare un altro dispositivo e ha fatto la differenza. Le eccezioni sono ancora presenti se utilizzo iPod Touch con iOS 6.1 ma l'iPad con iOS 7.0.2 funziona correttamente.

Quindi, sembra che il problema sia correlato alla versione iOS installata sul dispositivo. Non sono ancora sicuro di cosa fare per risolverlo.

EDIT 3:

My Command Line Tools versione soddisfa la mia versione di Xcode (ho solo una versione di riga di comando Tools, in realtà).

I problemi probabilmente non sono correlati al codice in fase di debug. Si blocca con l'applicazione di visualizzazione singola appena creata creata da Xcode. E si blocca quando si passa sopra il codice banale:

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

ho have asked su Apple Developer Forum, ma ho seguente risposta da Jason Molenda:

Siamo il monitoraggio di un bug che suona come quello che stai vedendo Qui. È un problema di temporizzazione sottile che richiede una macchina host leggermente più lenta o un dispositivo leggermente più lento da colpire. È principalmente iPhone 4 e simili che vedrà questo con iOS 7. Con iOS 6, iPhone 4 e iPhone 3GS i dispositivi hanno più probabilità di provarlo. ... Questo problema riguarderà solo lo con Xcode 5.0.1.

Quindi, sembra che si tratti di un bug in Xcode.

+0

Avete aggiornato alla versione più recente Xcode come bene? – DarkDust

+0

@DarkDust si, l'ho fatto. – Bobrovsky

+1

Immagino che avrai maggiori possibilità di ottenere una risposta nei forum degli sviluppatori Apple, a volte gli ingegneri Apple possono aiutarti. Dubito che gli sviluppatori normali saranno d'aiuto in questo problema. – DarkDust

risposta

23

Ok, questo è sicuramente un bug in Xcode 5.0.1.

Ciò è confermato da Jason Molenda on Apple Developer Forum. L'unico rimedio per ora è utilizzare older version of Xcode e la versione precedente di Mac OS X perché Xcode 5 richiede OS X 10.8.4.

Non esiste un ETA annunciato per una correzione per questo problema. La domanda diretta su ETA su Apple Developer Forum è rimasta senza risposta.

UPDATE 06-Nov-2013:

Oggi una versione pre-release di Xcode 5.0.2 è diventato disponibile su developer.apple.com. Questa versione corregge (tra le altre cose) il seguente problema:

Debug di un'applicazione su un dispositivo con iOS 6.x, l'applicazione crash con EXC_BAD_ACCESS. Questo è stato risolto. (15310896)

Ho installato la nuova versione e il problema è davvero andato. Ora riesco a eseguire di nuovo il debug delle app sui miei dispositivi 6.x.

Jason Molenda in thread on Apple Developer Forum detto:

Mi hanno detto che è possibile inviare applicazioni per l'App Store con questo Xcode 5.0.2 seme.

+2

Questo è stato corretto nell'ultima versione di Xcode (5.0.2). "Il debug di un'applicazione su un dispositivo con iOS 6.x causa l'arresto anomalo dell'applicazione con EXC_BAD_ACCESS. Questo problema è stato risolto. (15310896)" – Jameo

3

Confermo di avere esattamente lo stesso bug. La mia app ha funzionato bene. Dopo l'aggiornamento al codice Xcode 5 e Mavericks, ma quando eseguo il debug, non riesco a scavalcare determinate righe quando ottengo EXC_BAD_ACCESS.

Quindi devo ricordare le righe che non riesco a passare con Step Over e inserire il punto di interruzione dopo queste righe o usare Continua su Linea per saltare sopra queste righe problematiche.

PS

Scaricato Xcode 5.0.2 GM seed e debugging è molto meglio. Ho trascorso 30 minuti con il nuovo Xcode finora.

Problemi correlati