今天博主有一个升级Xcode7的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步.

1.Address Sanitizer: 再也不用担心 EXC_BAD_ACCESS

EXC_BAD_ACCESS一直是很多开发者的噩梦,因为这个错误很不直观,出现后往往要花很长时间才能定位到错误。苹果这次带来了革命性的提升。

在项目的Scheme中Diagnostics下,选中enable address sanitizer(注意选中后Xcode会重新编译整个项目)。

这样设置后,如果再出现类似的错误会有更详细的错误信息提示,甚至会有内存使用情况的展示。

2.发布后的crash跟踪,轻松定位崩溃代码

在升级iOS9后,苹果会询问用户是否同意收集应用崩溃报告。这样在itunes connect的后台统计中就可以看到一些收集到的数据(通常会有相当一部分用户不同意,所以只是部分数据)。

2.1查看崩溃统计信息

在connect后台中选择app分析

进入分析页面后,tab中选择“指标”

然后在左侧的菜单中选择“崩溃”

这样就可以看到苹果收集到的崩溃统计,一定要注意这里只是一部分的数据,举例来说如果你看到的崩溃是10次,但是可能苹果只收集了20%的用户信息。所以你可以大概估计应该是10*5=50次崩溃。

2.2在Xcode中查看具体崩溃信息

在xcode中菜单的window下选择organizer,在打开的窗口中选择Crashes,这样Xcode会开始下载相关的崩溃信息到本地中(网络环境不好时可能要等待一些时间)。

organizer窗口

可以在左侧选择你要查看崩溃信息的发布版本

在崩溃信息这一栏苹果会按照崩溃数量排序,将崩溃数量最多的排在最前。右侧的详细信息会显示是崩溃时的调用堆栈,可以看到是哪行代码导致的崩溃。

选中要解决的崩溃后,可以在窗口右侧选择open in project。

神奇的事情发生了!!!在打开的项目中,会直接定位到崩溃的那行代码。这大大提高了调试的效率!我已经的迫不及待要和开发安卓的同事分享这份喜悦了。

注意!注意!

因为之前的项目发布时没有用xcode7打包,所以猜测符号表可能没有上传到苹果服务器,所以以前的项目可能不能直接显示是哪行代码,而是显示调用时出错的内存地址。不过下个版本你用xcode发布后就可以正常看到啦。

在解决完这个crash后可以标记为已经解决。有两个地方可以标记。

所以没有升级xcode7的同学赶紧升吧。O(∩_∩)O~

http://www.tuicool.com/articles/q67feaZ?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

http://www.jianshu.com/p/456f96564567?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1

转载于:https://www.cnblogs.com/Twisted-Fate/p/5067228.html

iOS开发日记54-Xcode7调试神技相关推荐

  1. Xcode7中你一定要知道的炸裂调试神技(转)

    1.Address Sanitizer: 妈妈再也不用担心 EXC_BAD_ACCESS? EXC_BAD_ACCESS一直是很多开发者的噩梦,因为这个错误很不直观,出现后往往要花很长时间才能定位到错 ...

  2. Xcode7中你一定要知道的炸裂调试神技

    1.Address Sanitizer: 妈妈再也不用担心 EXC_BAD_ACCESS? EXC_BAD_ACCESS一直是很多开发者的噩梦,因为这个错误很不直观,出现后往往要花很长时间才能定位到错 ...

  3. Xcode7中你一定要知道的炸裂调试神技【转载】

    Xcode7中苹果为我们增加了两个重要的debug相关功能.了解之后觉得非常实用,介绍给大家. 1.Address Sanitizer: 妈妈再也不用担心 EXC_BAD_ACCESS? EXC_BA ...

  4. iOS开发 实战篇---Xcode7免费真机测试流程

    Xcode 7真机测试详解 1.准备 注意:一定要让你的真机设备的系统版本和app的系统版本想对应,如果不对应就会出现一个很常见的问题:could not find developer disk im ...

  5. iOS与导航栏有关的神技

      1.导航栏上的返回按钮 <span style="font-size:24px;"> </span><span style="font- ...

  6. iOS开发日记24-详解RunLoop

    今天博主有一个RunLoop的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. RunLoop是什么? 从字面上理解,Runloop指的就是运行循环,iOS中,只要程序启动, 就会创建Run ...

  7. ios开发日记- 5 屏幕截图

    -(void)fullScreenshots{ UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; UIGr ...

  8. ios开发日记-18上传appStore时,遇到错误,代码为ERROR ITMS-90049

    上传appStore时,遇到错误,代码为ERROR ITMS-90049 解决问题方式:  1. 在xcode左下角搜索info.plist 找到第三方的info.plist文件,如友盟中腾讯Api文 ...

  9. iOS开发日记1-tableview编辑

    今天博主有一个tableview编辑的需求,遇到了一些困难点,在此和大家分享,能够共同进步. tableview的编辑是通过[self.tableview setEditing: BOOL1 anim ...

最新文章

  1. TensorFlow Dropout
  2. 空腹吃香蕉对身体好吗?哪些水果不宜空腹吃
  3. P3390矩阵快速幂
  4. P1018 乘积最大
  5. 约数研究pascal程序
  6. Product search parameter的determine逻辑
  7. jquery $.trim()方法使用介绍
  8. 39. 组合总和020(思路+详解)
  9. java8 javafx_Java 8的新增功能(第1部分– JavaFX)
  10. Exchange 2003升级至Exchange 2007
  11. 癌症精准医疗上市公司泛生子基因 - 内推(名额有限)
  12. Windows获取系统版本号
  13. 吴恩达深度学习2.3练习_Improving Deep Neural Networks_Tensorflow
  14. 获取cookies的简单代码(总结待续)
  15. matlab数据拟合
  16. 关关采集器规则编写教程(最详细的教程)
  17. 斗鱼弹幕服务器连接协议,斗鱼弹幕服务器第三方接入协议v1 6 2.pdf
  18. 几张图片生成3D模型?距离真正的AI建模还有多远?
  19. chareter oracle,Oracle数据库的操作程序.pdf-汇文网
  20. 关于cmd打开时提示“系统找不到指定的路径”问题

热门文章

  1. 2020/10/22【ArcGIS】土地利用数据重分类与叠置分析-方法复盘
  2. 【英语-基础词根词缀】
  3. 【SystemC】(二)第一个SystemC程序
  4. scrapy爬虫入门:爬取《id97》电影
  5. SAR图像相干斑滤波算法
  6. 文字转图片,文字水印图片,合成图片,教你 Python 生成网站原创配图!
  7. 阿联酋esma认证_阿联酋发布ECAS认证计划
  8. 百胜软件黄飞:携手阿里云,用双中台驱动新零售
  9. yp北京理工 拓扑排序+最短路(更新中re)
  10. 计算机网络第一章-概叙 思维导图