iOS 友盟错误分析(详细定位Crash位置)

花时间总结了一下使用友盟错误统计来定位Crash位置的方法

-[NSNull count]: unrecognized selector sent to instance 0x3a491a60
(null)
(
    0   CoreFoundation                      0x2f981e9b  + 154
    1   libobjc.A.dylib                     0x39cde6c7 objc_exception_throw + 38
    2   CoreFoundation                      0x2f9857b7  + 202
    3   CoreFoundation                      0x2f9840af  + 706
    4   CoreFoundation                      0x2f8d2dc8 _CF_forwarding_prep_0 + 24
    5   WeChatHelper                         WeChatHelper + 245693
    6   WeChatHelper                         WeChatHelper + 26969
    7   libdispatch.dylib                   0x3a1c30c3  + 10
    8   libdispatch.dylib                   0x3a1c30af  + 22
    9   libdispatch.dylib                   0x3a1c59a9 _dispatch_main_queue_callback_4CF + 268
    10  CoreFoundation                      0x2f94c5b1  + 8
    11  CoreFoundation                      0x2f94ae7d  + 1308
    12  CoreFoundation                      0x2f8b5471 CFRunLoopRunSpecific + 524
    13  CoreFoundation                      0x2f8b5253 CFRunLoopRunInMode + 106
    14  GraphicsServices                    0x345ef2eb GSEventRunModal + 138
    15  UIKit                               0x3216a845 UIApplicationMain + 1136
    16  WeChatHelper                         WeChatHelper + 391591
    17  libdyld.dylib                       0x3a1d7ab7  + 2
)

dSYM UUID: A925ED33-1D32-392F-BD92-52623DCE51A3
CPU Type: armv7s
Slide Address: 0x00004000
Binary Image: WeChatHelper
Base Address: 0x00059000

ios 使用友盟统计的错误分析时有些东西是无法定位到哪个方法或类出错了,只返回简单的内存地址。例如上面的错误代码
这时候我们需要自己去查找错误的方法或类,以便修复bug;大概操作步骤如下:
1、在Archives 中 选中一个,show in finder -->显示包内容-->在dSYMs 中有 xxxxxx.app.dSYM ,在Products/Applications 有xxxxxx.app 把这2个文件放在同一个文件夹里面。
2、打开终端 cd 到这个文件目录下
3、输入指令
xcrun atos -arch armv7s -o xxxxxx.app/xxxxxx 0xaf8a5
注:armv7s 是友盟错误里面的
CPU Type: armv7s
0x0004af6f 是错误信息地址

第二方法:可视化工具
下面这是我的项目里通过友盟统计到的崩溃日志,如果光看这些日志报告的话,是不会知道是哪行代码引起的。
使用方法是把对应版本的.xcarchive文件拖到工具。对比UUID和友盟里日志是否一致,一致就把错误的地址信息拷贝到箭头处。
即可得出具体代码崩溃位置。很简单吧。

iOS 友盟错误分析(详细定位Crash位置)_第1张图片
20141008141335234.png

dSYM 文件分析工具 http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/
工具代码还是开源的:https://github.com/answer-huang/dSYMTools
地址:http://download.csdn.net/detail/totogo2010/8012367

你可能感兴趣的:(iOS 友盟错误分析(详细定位Crash位置))