NSException callStackSymbols
当异常发生有堆栈跟踪这种:NSException callStackSymbols
2的CoreFoundation 0x013bd1cc - [__ NSArrayI objectAtIndex:] + 236
3 -O-° - ≠-I 0x0000ac76 - [ContentButton handleGesture:] + 326
4 UIKit的0x00de24f2 - [UIGestureRecognizer _updateGestureWithEvent:] + 730
...
我看到异常发生时,我试图让objectAtIndex:
在NSArray中我的自定义类ContentButton
的handleGesture:
方法。
但是这个数字后的消息是什么意思(如+ 236)?
在java堆栈跟踪,发生异常的平均行号(据我所知)。但在第47行发送的消息[__NSArrayI objectAtIndex:]
(不是236)。
非常感谢。
WWDC 2010有一个关于理解崩溃报告的精彩视频。
You can find it here(登录到苹果开发需要)
仍然不知道这个数字是什么意思。在视频中被告知,XCode象征着自己的任何崩溃报告,但不是 - 仍然得到类似于236的附加到消息名称,并且仍然不知道这是什么。 –
@GusevAndrey我也很困惑。据我所知,这是从汇编code_中_方法声明开始的行号数目。除非您确切知道您的类的每一行如何转换为汇编,以及编译器如何关联变量,这并非非常有用。 –
236指的是由二进制的方法的开头以字节为单位的偏移量。 – VenoMKO