iOS如何debugging崩溃?
我的应用程序崩溃了一个不确定的原因,我结束了这个日志:
MyProj [9442:707] – [NSDecimalNumber length]:发送到实例0x2e6690的无法识别的select器
我可以有更多的细节吗? 9442:707是什么意思,是一个行号?
编辑
在我的代码中,我添加了如下的跟踪:
NSLog(@"KEYS:%@", myKeys); NSLog(@"KEYS ORDERED:%@", [myKeys sortedArrayUsingSelector:@selector(compare:)]);
但是第二行崩溃。 “长度”错误似乎来自这条线(我不使用[东西长度],但任何地方)。
2011-11-11 14:20:18.936 MyProj[9570:707] KEYS:( 330, 359, 362, 367, 352, 351, 364, 331, 350 ) ... then crash... with above error
iOSdebugging器在描述确切的问题时有时并不清楚。 但在你的情况下,应该清楚。 [NSDecimalNumber length]
不能执行,因为该方法长度我们不清楚。
参考: http : //developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html
尝试find使用长度函数的行,并将其更改为可以工作的内容。 用你的问题中的一段代码,我们可以更精确的。
9442:707是有关过程的信息..它不会帮助你在这里。
在你的代码中的某处,你将长度消息发送给一个NSDecimalNumber。
你能在debugging器中发生崩溃吗? 如果是这样,检查崩溃时的调用堆栈,它应该指出你正确的问题。
如果不是 – 如果你的代码基数不是太大,你可以search你的代码的“长度”,并检查你发送长度消息的任何地方,看它是否可以将它发送到错误types的对象。