繁体   English   中英

iOS怎么调试崩溃?

[英]iOS how to debug a crash?

我的应用程序崩溃了一个不确定的原因,我最终得到这个日志:

MyProj [9442:707] - [NSDecimalNumber length]:无法识别的选择器发送到实例0x2e6690

我可以提供更多细节吗? 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

iOS调试器在描述确切问题时有点不清楚。 但在你的情况下,它应该是清楚的。 [NSDecimalNumber length]无法执行,因为方法长度我们不清楚。

参考: http//developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html

尝试找到使用长度函数的行,并将其更改为可行的函数。 在您的问题中使用一段代码,我们可以更加精确。

9442:707是关于这个过程的信息..它不会在这里帮助你。

在代码中的某处,您将长度消息发送到NSDecimalNumber。

你能在调试器中发生崩溃吗? 如果是这样,请在崩溃时检查调用堆栈,它应指出您正确的问题。

如果不是 - 如果您的代码库不是太大,您可以在代码中搜索“length”并检查您发送长度消息的任何位置,以查看它是否可能将其发送到错误类型的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM