3

我的应用程序目前有以下输出:

2012-09-14 11:55:32.558 projectname[2172:707] -[__NSCFBoolean isEqualToString:]:
  unrecognized selector sent to instance 0x3ec4ba18
2012-09-14 11:55:32.570 projectname[2172:707] *** Terminating app due to uncaught 
  exception 'NSInvalidArgumentException', reason: '-[__NSCFBoolean isEqualToString:]: 
  unrecognized selector sent to instance 0x3ec4ba18'
*** First throw call stack:
(0x3263788f 0x3468d259 0x3263aa9b 0x32639915 0x32594650 0x41e47 0x417d3 0x46af7 
  0x320beefb 0x320bdfd9 0x320bd763 0x32061f15 0x325961fb 0x342faaa5 0x342fa6bd 
  0x342fe843 0x342fe57f 0x342f64b9 0x3260bb1b 0x32609d57 0x3260a0b1 0x3258d4a5 
  0x3258d36d 0x316e4439 0x3208ccd5 0x17e77 0x15ca4)
terminate called throwing an exception

我可以看到问题在于我正在尝试将 a 与 aBOOL进行比较NSString,比较是针对来自 Web 服务的数据,并且在此之前一直如此BOOL。无论如何,这不是本案的重点。

该日志中的哪些信息实际上可以帮助我找到导致问题的代码行?我可以看到是哪些实例(例如0x3ec4ba18)导致它,但日志甚至没有告诉我它们是什么类型,更不用说行号了。

4

2 回答 2

2

通过转到异常窗格(在左侧边栏中),单击 + 并选择“异常断点”来添加异常断点。然后,当您运行调试器时,将在实际抛出异常的地方暂停,而不是在顶层捕获(或更确切地说未捕获)异常时。

于 2012-09-14T11:28:00.497 回答
0

有很多关于这方面的教程,Raywinderlich 有一个很好的教程,用于从控制台日志中确定崩溃。在这里你可以得到它们。

我的应用程序崩溃了,现在怎么办?- 第1部分

我的应用程序崩溃了,现在怎么办?- 第2部分

看完这些,就知道具体的crash原因,然后google一下,就可以轻松解决了。

于 2012-09-14T11:33:30.943 回答