美文网首页
iOS的bug调试

iOS的bug调试

作者: 彩虹下的笑颜 | 来源:发表于2019-05-21 15:29 被阅读0次

一、查看Crash Report

  1. 通过Xcode的Devices中把crash日志导出来:


    image.png
  2. 查看dSYM 文件,一般查看友盟的dSYM 文件。


    image.png
  3. 这里可以看出这个错误的原因是数组越界了,那么问题来了,我们并不知道是哪里越界,上面只给出了一个内容地址:
6   YHRSS                        0x100041378 YHRSS + 267128
  • 步骤1:


    image.png
  • 步骤2:


    image.png
  • 步骤3:


    image.png

    我们 cd 到该文件目录下,然后执行:
    atos -arch arm64 -o YHRSS 0x1000420b0
    注意这里的 -arch 是和上面 crash 报告中的对应,否则是看不到相应的信息的:

specialized YHArticlesViewController.tableView(_:heightForRowAt:) (in YHRSS) (YHArticlesViewController.swift:215)

这样我们能就精准地获取 crash 出现的具体位置,然后就该是发挥自我价值的时候了。

二、p po断点查看

image.png

三、Time Profiler

time profile 是时间分析工具,主要用来检测应用 CPU 的使用情况,可以看到应用程序中各个方法消耗 CPU 时间。关于概念,这里就不详细介绍了,直接进行实际操作:
  1. 通过 xcode 中的 product --> profile 来启动 Instrument,并选择 Time Profiler 工具:


    image.png
  2. 运行 Time Profiler,配置显示方式,分线程显示和隐藏系统的无关内容:


    image.png
  3. 在手机上执行想要测试的操作,执行完后停止 Time Profiler 进行分析:


    image.png
  4. 找到主要耗时的地方,并定位到具体的代码行(点击方法的小箭头就可以进入相应的代码处):


    image.png
  • 这里可以看出,主要有两一个耗时的操作,但明显后面那我格式转换我们没有办法去处理,我们只能从第一个入手。它每次创建都比较耗时,那么我们就不要多次去创建,因为它每次使用的格式的都是一样的,这样我们实质上只需要创建一次就可以了。那我们有什么方法去只创建一次呢,首先能想到的肯定是单例,但是用单例太麻烦了,通过 static 定义成一个常量就可以了,就这样,这处的性能问题就解决了,其它地方也可以通过同样的方法,逐步分析和解决就可以了。

相关文章

  • iOS Bug 调试

    EXC_BAD_ACCESS https://www.jianshu.com/p/4989c498e21e

  • iOS Bug 调试

    1.打印log调试 #ifdef DEBUG # define DLog(fmt, ...) NSLog((@"[...

  • iOS 调试BUG

  • iOS的bug调试

    一、查看Crash Report 通过Xcode的Devices中把crash日志导出来:image.png 查看...

  • iOS bug调试-malloc

    运行程序时没有错误提示,出现如下信息 项目(702,0x198497310) malloc: stack logs...

  • iOS 调试

    iOS调试 - NSLog iOS调试 - 断点 iOS调试 - LLDB iOS调试 - EXC_BAD_ACC...

  • ios9本地消息隔天无法推送

    最近调试程序时发现一个bug,在最新的ios9系统下面,如果用 [[UIApplication sharedApp...

  • iOS Bug调试小技巧

    我们在开发中,经常遇到偶现的bug,这些bug很多都是网络差的情况下出现的,而且都是用户出现的,我们在正常测试过程...

  • IOS基础:调试修复BUG

    原创:知识点总结性文章创作不易,请珍惜,之后会持续更新,不断完善个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈...

  • iOS崩溃调试

    iOS崩溃调试 iOS崩溃调试

网友评论

      本文标题:iOS的bug调试

      本文链接:https://www.haomeiwen.com/subject/ttjjzqtx.html