Sto ottenendo il seguente indice di errore di limiti:NSRangeException: Call Stack che non si visualizzano Linea Numero
*** Terminating app due to uncaught exception 'NSRangeException', reason:
'*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x2263052 0x24c7d0a 0x224fdb8 0x2f4a7 0x2264ec9 0x81e299 0x81e306 0x75aa30
0x75ac56 0x741384 0x734aa9 0x39a9fa9 0x22371c5 0x219c022 0x219a90a 0x2199db4
0x2199ccb 0x39a8879 0x39a893e 0x732a9b 0x1e5b 0x1dc5 0x1)
So esattamente cosa significa l'errore, ma trovo questi errori molto difficili da risolvere perché per qualche motivo lo stack delle chiamate non indica la riga di codice in cui è stato chiamato l'array. Ecco lo stack di chiamate da thread 1:
#0 0x9706d9c6 in __pthread_kill()
#1 0x93e2cf78 in pthread_kill()
#2 0x93e1dbdd in abort()
#3 0x02859e78 in dyld_stub__Unwind_DeleteException()
#4 0x0285789e in default_terminate()()
#5 0x024c7f4b in _objc_terminate()
#6 0x028578de in safe_handler_caller(void (*)())()
#7 0x02857946 in __cxa_bad_typeid()
#8 0x02858b3e in __cxa_current_exception_type()
#9 0x024c7e49 in objc_exception_rethrow()
#10 0x02199e10 in CFRunLoopRunSpecific()
#11 0x02199ccb in CFRunLoopRunInMode()
#12 0x039a8879 in GSEventRunModal()
#13 0x039a893e in GSEventRun()
#14 0x00732a9b in UIApplicationMain()
#15 0x00001e5b in main
Come si può vedere questo stack di chiamate non è molto utile perché non mostra alcun metodo dal mio codice. Inoltre, lo stack di chiamate mostrato nell'errore ha 22 indirizzi di memoria, mentre lo stack dal thread 1 ne ha solo 15 e gli indirizzi non corrispondono affatto. Nessun altro thread sembra contenere informazioni utili.
Come è possibile visualizzare il thread del "Primo stack di chiamate" dall'errore (quello con 22 indirizzi), quindi posso trovare la riga che causa questo errore? Forse ho qualcosa impostato in modo errato nelle mie impostazioni di compilazione che sta causando il non essere recuperabile lo stack in questione?
Se qualcuno potesse indicarmi la giusta direzione, sarei molto grato. Cercare di localizzare manualmente la linea incriminata è abbastanza noioso.
Grazie!
Grazie Antwan, questo funziona perfettamente! Per chiunque cercando di fare questo in Xcode 4 qui sono i passi che ho usato: 1. Nell'angolo in basso a sinistra del navigatore breakpoint (2 ° scheda da destra) fare clic sul pulsante ("+") Aggiungi. 2. Scegliere Aggiungi punto di interruzione eccezione. 3.Per "Eccezione" selezionare "C++" 4. Accanto a "named" digitare "objc_exception_rethrow" 5. Fare clic su Fine. – llama591