iOS-Crash-UMeng统计与bug分析

作者: KermitX | 来源:发表于2016-06-27 11:21 被阅读3203次

产品推广后不出意外的会收到用户的bug反馈,为了保证用户体验,提高产品的质量,集成UMeng后即可在UMeng上查看项目基本使用情况。产品要求在“影响用户/活跃用户”的这一数据上要保证低于1%,并且要经常查看并与后台交流排除crash。T.T
直接看两种crash排除吧~

1."Application received signal SIGSEGV"错误详情

Application received signal SIGSEGV
(null)
((
    0   CoreFoundation                      0x0000000182f29918 <redacted> + 148
    1   libobjc.A.dylib                     0x0000000182597f80 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000182f29848 <redacted> + 0
    3   appname                           0x10024fdbc appname + 2424252
    4   libsystem_platform.dylib            0x0000000182b8d93c _sigtramp + 52
    5   appname                           0x1001aca54 appname + 1755732
    6   libdispatch.dylib                   0x000000018297d630 <redacted> + 24
    7   libdispatch.dylib                   0x000000018297d5f0 <redacted> + 16
    8   libdispatch.dylib                   0x0000000182982cf8 _dispatch_main_queue_callback_4CF + 1844
    9   CoreFoundation                      0x0000000182ee0bb0 <redacted> + 12
    10  CoreFoundation                      0x0000000182edea18 <redacted> + 1628
    11  CoreFoundation                      0x0000000182e0d680 CFRunLoopRunSpecific + 384
    12  GraphicsServices                    0x000000018431c088 GSEventRunModal + 180
    13  UIKit                               0x0000000187c84d90 UIApplicationMain + 204
    14  appname                          0x10019299c appname + 1649052
    15  libdyld.dylib                       0x00000001829ae8b8 <redacted> + 4
)

dSYM UUID: 6DEB7E59-FC6A-30C2-8A16-B06BD00C4FD5
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: appname
Base Address: 0x00000001000ec000

解决方法

1.找到之前上传到AppStore的.xcarchive文件,XCode->Window->Orgainize,右键在Finder中显示
2.右键显示包内容进入dSYMs文件夹,找到.dSYM文件
3.然后通过Terminal工具跳转到.dSYM文件

$ cd ~/Library/Developer/Xcode/Archives/yyyy-mm-dd/appname.xcarchive/dSYMs/appname.app.dSYM

4.通过ls与cd指令进入DWARF路径

kermitdeMacBook-Air:appname.app.dSYM kermit$ ls
Contents
kermitdeMacBook-Air:appname.app.dSYM kermit$ cd contents
kermitdeMacBook-Air:contents kermit$ ls
Info.plist Resources
kermitdeMacBook-Air:contents kermit$ cd resources
kermitdeMacBook-Air:resources kermit$ ls
DWARF
kermitdeMacBook-Air:resources kermit$ cd dwarf
kermitdeMacBook-Air:dwarf kermit$ ls
appname

5.根据处内存地址反编译找到源码行

$ atos -arch arm64 -o appname 0x********

注意:
1.如果定位到的地址是UmengSignalHandler,这不是错误,是捕捉crash的方法,本身不引起crash, 当crash发生时由它来捕捉,直接忽略crash log中的 UmengSignalHandler
2.appname全部为项目名, arm64位对应的CPU Type

2.其他错误

*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
(null)
((
    0   CoreFoundation                      0x000000018323edc8 <redacted> + 148
    1   libobjc.A.dylib                     0x00000001828a3f80 objc_exception_throw + 56
    2   CoreFoundation                      0x000000018312777c <redacted> + 324
    3   CoreFoundation                      0x0000000183127614 <redacted> + 64
    4   appname                           0x100193558 appname + 1652056
    5   UIKit                               0x000000018864b1b8 <redacted> + 228
    6   UIKit                               0x000000018871b6d4 <redacted> + 128
    7   UIKit                               0x000000018864b080 <redacted> + 100
    8   UIKit                               0x000000018864b604 <redacted> + 700
    9   UIKit                               0x000000018865ba80 <redacted> + 448
    10  UIKit                               0x000000018864570c <redacted> + 152
    11  UIKit                               0x0000000188645394 <redacted> + 712
    12  FrontBoardServices                  0x0000000184bdf7ac <redacted> + 36
    13  FrontBoardServices                  0x0000000184bdf618 <redacted> + 168
    14  FrontBoardServices                  0x0000000184bdf9c8 <redacted> + 56
    15  CoreFoundation                      0x00000001831f509c <redacted> + 24
    16  CoreFoundation                      0x00000001831f4b30 <redacted> + 540
    17  CoreFoundation                      0x00000001831f2830 <redacted> + 724
    18  CoreFoundation                      0x000000018311cc50 CFRunLoopRunSpecific + 384
    19  GraphicsServices                    0x0000000184a04088 GSEventRunModal + 180
    20  UIKit                               0x0000000188406088 UIApplicationMain + 204
    21  appname                           0x10019637c appname + 1663868
    22  libdyld.dylib                       0x0000000182cba8b8 <redacted> + 4
)

dSYM UUID: 18968DAD-71C9-3746-8262-1F15532042B7
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: appname
Base Address: 0x0000000100074000

解决方法

方法一:根据提示的错误信息在工程中find
方法二:参考错误类型一

相关文章

  • iOS-Crash-UMeng统计与bug分析

    产品推广后不出意外的会收到用户的bug反馈,为了保证用户体验,提高产品的质量,集成UMeng后即可在UMeng上查...

  • 友盟bug日志分析

    友盟bug日志分析 一、友盟工具分析 1、去友盟后台,我的产品->移动统计->错误分析,找到有哪些bug日志,并把...

  • 历年高考人数

    历年北京高考人数统计与分析 历年天津高考人数统计与分析 历年河南高考人数统计与分析

  • iOS开发-根据友盟统计错误分析查找线上BUG

    参考博客 根据友盟统计错误分析查找线上BUG(工具篇)Xcode如何快速的根据错误日志定位到相应的代码根据友盟统计...

  • atos 符号化.dSYM中的bug

    最近优化项目,整理了一下如何分析第三方统计上来的bug; 前提是你知道了bug出现的当前的.dSYM,分渠道匹配....

  • 工具篇-- 移动数据统计平台

    数据统计对于各位移动开发的童鞋并不陌生,小到Bug统计,大到数据分析,一款性能稳定、用户体验良好的APP一定离不开...

  • 统计学与数据分析融合

    统计学与数据分析融合

  • 《统计学》第六版 第1 - 3 章

    数据分析方法 描述统计 数据收集、处理、汇总、图表描述、概括与分析等 推断统计 样本数据推断总体特征 统计数据...

  • R for data science ||探索性数据分析

    什么是探索性数据分析 参看之前的文章:数量生态学笔记||数据探索环境与生态统计||探索性数据分析环境与生态统计||...

  • 2019-06-28

    “高级计量经济学暨Stata数据 统计分析与模型应用研讨班”的通知 Stata强大的统计与计量分析功能、精致的绘图...

网友评论

  • 请叫我作家:反编译是什么鬼,能具体说说吗,O(∩_∩)O谢谢
  • 郑州小猪:参考错误类型一  直接忽略??? 我错误1不管怎样追踪都是
    UmengSignalHandler (in XXXX) + 128
    阳明先生_X自主:你解决了吗我也是报这个错
  • 遗编絶简:根据内存地址反编译,根据哪个内存地址,第一个appname还是第二个第三个,不明白内存地址难道要用0x0*******代替?
    KermitX:@遗编絶简 你要是第一次就找到所在代码行那就不用往下继续查了,不过最后一条一般都是在main函数里
    遗编絶简:@KermitKangxu 有三个appname要反编译三次吗
    KermitX:@遗编絶简 appname以及其前面的地址
  • 夜央未尽:下次要保存xcarchive了
  • 郭大侠smile:不错
    KermitX:@南国疯子 :grin:

本文标题:iOS-Crash-UMeng统计与bug分析

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