2012-03-15 12 views
7

Tengo un error NSRangeException que no ocurre todo el tiempo (especialmente cuando estoy depurando). Aparece al azar, y no puedo averiguar de dónde viene. Tengo mucha manipulación de matriz, por lo que es difícil eliminarla de esa manera.Descubriendo el origen de la excepción nsrange

Mi pregunta es si puedo conseguir una pista, por ejemplo, la clase y el número de línea de la salida de un depurador, por ejemplo, cuáles son los números 12109 y 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]' 

Cualquier punteros apreciados.

Editar: restante parte del registro:

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

Respuesta

50

Añadir un punto de interrupción de excepción. Esto se detendrá en la línea que genera la excepción.

En el navegador de puntos de interrupción, haga clic en el signo más en la esquina inferior izquierda, elija el punto de interrupción de excepción y todas las excepciones. Deberías tener esto en todos los proyectos, es invaluable. Sin embargo, tendríamos muchas menos preguntas aquí.

+0

. Es una muy buena idea, intentaré eso, gracias. – user542584

+0

¡No creo que no supiera esto, gracias! –

+2

omfg eso es lo que me faltaba taaaaaaaaaan .... no se puede imaginar ... le daría una reputación de +20 si pudiera –

1

Mira más abajo en su registro de bloqueo, y lo más probable es que en algún momento se va a apuntar a un método real y la línea.

Por ej. en el bloque debajo de un dispositivo de registro de bloqueo, la última línea apunta claramente a la solicitud: didLoad: método en la clase FacebookController.m en la línea 264.

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

Hola, gracias por la respuesta, lamentablemente, no muestra nada de eso. He editado la pregunta con la parte restante del registro de bloqueo – user542584

Cuestiones relacionadas