修复Objective-C异常类Bug
2013-06-13 15:50
239 查看
iOS App有一类崩溃是Objective-C抛出异常引起的,现象如下:
*** Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘*** -[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]‘
这种情况下,很明确是数组访问越界引起的,为了确定是哪一行访问调用-[NSArray objectAtIndex:]方法的代码引起这个问题的,需要设置两个全局异常断点,具体设置方法如下:
设置断点-[NSException raise]
设置断点 objc_exception_throw
重新运行程序,当异常抛出时,objc_exception_throw被调用,第二个断点被触发,我们可以精确定位引起错误的代码行。
关于断点 -[NSException raise]和objc_exception_throw的区别,可以看这篇文章。
*** Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘*** -[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]‘
这种情况下,很明确是数组访问越界引起的,为了确定是哪一行访问调用-[NSArray objectAtIndex:]方法的代码引起这个问题的,需要设置两个全局异常断点,具体设置方法如下:
设置断点-[NSException raise]
设置断点 objc_exception_throw
重新运行程序,当异常抛出时,objc_exception_throw被调用,第二个断点被触发,我们可以精确定位引起错误的代码行。
关于断点 -[NSException raise]和objc_exception_throw的区别,可以看这篇文章。
相关文章推荐
- 修复Objective-C异常类Bug
- 【duilib界面库】duilib界面库(干货) 修复UIScrollBar鼠标移出控件外显示异常的BUG
- dede 5.7 二级联动三级联动添加异常bug完美修复
- android使用微信与支付宝支付在小米miui系统上ui线程被异常kill的bug修复
- 修复 ThinkPHP3.2.3 抛出异常模块的一个BUG,关闭字段缓存功能
- 99%Bug 修复方法
- Android开发99%Bug修复方法
- bug和bug修复
- 网秦你先修复下自己的bug先啊!!
- 修复kaldi中的在线语音识别的bug
- 苹果向开发者发布 Xcode 6.3.2 GM版 修复 Bug
- 修复bug,增加BasePath参数 - dotnetFlexGrid 1.21beta更新 争取做ASP.NET中最好的Ajax开源表格控件
- xUtils - android工具库,大量更新:bug修复,缓存优化,GET请求加入lru缓存。
- 【更新】浏览器控件JxBrowser V6.14.2发布 | 修复多个重大bug
- flume spooldir bug修复
- 悦动圈跑步 随意提交步数 重大BUG漏洞 希望官方早些修复
- 关于bootstrap datetimepicker位置显示错误的bug修复
- [BUG] MyEclipse 运行tomcat出现异常
- Codejock Xtreme ToolkitPro v15.0 在HOOK控件后导致滚动条不正常bug及修复
- 自学python(07) 简易版计算器(还有一点点小bug未修复)