我有一个NSRangeException错误,这种错误不会一直发生(尤其是在调试时)。它是随机出现的,我无法弄清楚它的来源。我有很多数组操作,因此很难以这种方式消除它。

我的问题是我是否可以从调试器输出中获得线索,例如类和行号,例如,数字12109和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]'

任何指针表示赞赏。

编辑:
日志的其余部分:
*** 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

最佳答案

添加一个异常断点。这将在引发异常的行上停止。

在断点导航器中,单击左下角的加号,选择异常断点和所有异常。您确实应该在所有项目上都拥有此功能,这是非常宝贵的。不过,我们这里的问题要少得多!

10-07 23:38