2009-12-06 2 views
0

Я получаю эту ошибку при запуске моего iPhone приложения
2009-12-05 21:32:06.711 iTour[7595:207] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSCFArray objectAtIndex:]: index (1) beyond bounds (1)'Debugging в Xcode (сенсорный какао)

Согласно отладке практики Xcode, я не имею номеров строк или ключа к пониманию того, с чего начать, так как у меня есть много массивы в моем приложении ... и трассировка стека - это просто много цифр ....

Почему Xcode не дает номера строк, например, VS?

Любые идеи, где эта строка кода или с чего начать?

Thanks

ответ

2

Вы не получите номер строки, потому что программа умерла из-за неперехваченного исключения. Исключение было брошено, передавая много кадров, прежде чем их поймал обработчик исключений по умолчанию, который убивает ваше приложение.

Если вы можете воспроизвести проблему, то вы можете установить точку останова на -[NSException raise] или objc_exception_throw (в частности, добавить эти два символа в список контрольных точек).

Учитывая, что индекс равен 1, у вас есть массив с 0 или 1 элементом в нем. Это также должно помочь сузить его.

-1

Вы компилируете в режиме выпуска? Xcode отлично способен предоставить вам трассировку стека с номерами строк, если у нее есть отладочная информация в двоичном формате.

+0

Это не крушение; к моменту появления сообщения об ошибке нет полезной обратной линии. Единственный способ отладить это - уловить исключение, прежде чем оно будет выброшено * или * утверждать, что индексы перед использованием. – bbum

Смежные вопросы