【iOS开发】如何在程序出错崩溃时快速定位到具体出错代码行

【写在前面】最近在做iOS的开发。之前开发Android应用程序的时候程序出错时很容易根据logcat信息获取错误类型并且定位到具体出错的代码行,但是最近在做iOS的时候发现Xcode无法定位到具体错误行。搜索了一下,找到了解决办法,还挺简单。

 

步骤1

在xcode添加一个通用断点就行了。方法如下:

点击项目导航断点那,如图

 

步骤2

点击+号:

 

一步步按上面图完成操作。

再运行程序

 

自动就断点到这里来了,

log信息是:

1 2013-05-20 11:14:19.635 GestureRecognizer[1491:c07] -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0  
2 2013-05-20 11:15:21.148 GestureRecognizer[1491:c07] *** Terminating app due to uncaught exception NSInvalidArgumentException, reason: -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0  

这样很简单就能发现程序崩溃是因为value没有 isEqualToString方法。

如果我没加上面这个通用的断点,那程序会直接断点到main函数去。

 

PS:这个方法只能绝大部分这样的崩溃。有少部分错误是断不到了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。