2012-03-15 12 views
7

Ho un errore NSRangeException che non si verifica tutto il tempo (specialmente quando eseguo il debug). Viene fuori a caso e non sono in grado di capire da dove viene. Ho un sacco di manipolazione di array, quindi è difficile eliminarlo in quel modo.Scoprire la fonte di nsrangeexception

La mia domanda è se posso ottenere un indizio, per esempio di classe e il numero di riga dall'uscita debugger, ad esempio, quali sono i numeri 12109 e 707 ?:

2012-03-15 09:25:15.303 appname[12109:707] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 2 beyond bounds [0 .. 0]' 

Qualsiasi puntatori apprezzato.

Edit: rimanente parte del log:

*** First throw call stack: 
(0x33ff38bf 0x342431e5 0x33f4b275 0x1702d 0x37662331 0x3761b2b3 0x33f4d435 0x373b79eb 0x373b79a7 0x373b7985 0x373b76f5 0x3744de55 0x374e3e45 0x373aa99b 0x33fc7b4b 0x33fc5d87 0x33fc60e1 0x33f494dd 0x33f493a5 0x307cdfcd 0x373ca743 0x2325 0x22e4) 
terminate called throwing an exception 

risposta

50

Aggiungere un punto di interruzione di eccezione. Questo si fermerà sulla linea che solleva l'eccezione.

Nel navigatore punti di interruzione, fare clic sul segno più in basso a sinistra, selezionare punto di interruzione eccezione e tutte le eccezioni. Dovresti avere questo su tutti i progetti davvero, è inestimabile. Avremmo molte meno domande qui, però!

+0

Questa è una buona idea, ci proverò, grazie. – user542584

+0

Credo che non lo sapevo, grazie! –

+2

omfg questo è quello che mi è stato mooooolto mancante .... non puoi immaginare ... ti darei +20 reputazione se potessi –

1

sguardo più in basso nella vostra crash log, e le probabilità sono che ad un certo punto si punterà a un metodo effettivo e la linea.

Ad es. nel blocco seguito da un crash log dispositivo, l'ultima riga indica chiaramente la richiesta: didLoad: metodo nella classe FacebookController.m alla linea 264.

0x33defacb -[NSObject doesNotRecognizeSelector:] + 175 
0x33dee945 ___forwarding___ + 301 
0x33d49680 _CF_forwarding_prep_0 + 48 
0x00037e47 -[FacebookController request:didLoad:] (FacebookController.m:264) 
+0

Ciao, grazie per la risposta, sfortunatamente, non mostra nulla di tutto ciò. Ho modificato la domanda con la parte rimanente del registro degli arresti anomali – user542584

Problemi correlati