IOS开发:Xcode7中的一些调试技巧

[复制链接]
查看: 57|回复: 7
  • 慵懒
    2018-4-28 09:37
  • 发表于 2018-4-2 13:06:05 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    Xcode7中苹果为我们增加了两个重要的debug相关功能。了解之后觉得非常实用,介绍给大家。

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

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

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

    03ab88b623c7ea107b763a01a6178f70.jpg

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

    8cb67ec5996b86a002b8a20d8784b507.png

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

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

      2.1查看崩溃统计信息

      在connect后台中选择app分析

    0fedce74bf7922562360f7384628ff0f.jpg

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

    9d259515d988ba8fc0d6747188de2c56.jpg

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

    8bca2b593931bbbdee998c2c725053b2.jpg

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

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

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

    8aa89f070fadb45f78d0a283ff1c1a87.jpg

      organizer窗口

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

    57118683e3eaf8cae7fbc4c5ff7825f2.jpg 4f24d133c99389d232b8516fa64d38a1.jpg

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

    3ecfb8f9f878937d6364a609d8c3f162.jpg

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

    7e2c91048b9bc2260be189acdeba7d14.jpg

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

      注意!注意!

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

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

    0a9afe5e5093cd026a86f343c23e792e.jpg 38288ba99aeb268d74d87cf0542897eb.jpg

    发表于 2018-4-26 22:18:18 | 显示全部楼层
    么有分,谁能送我点积分啊::>_<::
    回复

    使用道具 举报

    发表于 2018-5-8 03:04:32 | 显示全部楼层
    回的人少,我来小顶一下
    回复

    使用道具 举报

    发表于 2018-5-15 16:09:44 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复

    使用道具 举报

    发表于 2018-6-14 18:13:24 | 显示全部楼层
    我只是路过打酱油的
    回复

    使用道具 举报

    发表于 2018-6-25 17:48:26 | 显示全部楼层
    确实是难得好帖啊,顶先
    回复

    使用道具 举报

    发表于 2018-7-4 11:15:42 | 显示全部楼层
    额,看不懂在说神马~@_@
    回复

    使用道具 举报

    发表于 2018-7-18 11:34:34 | 显示全部楼层
    正需要,支持楼主大人了!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

     
     
    技术支持
    在线客服
    售后交流群瑞恩社区™售后</font><br><span>交流
    工作时间:
    8:00-18:00
    客服热线:
    15368564009
    微信扫一扫
    返回顶部 关注微信 下载APP 返回列表