友盟错误分析

来源:http://my.oschina.net/u/1040495/blog/261641

-[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 是错误信息地址

现在还需要 Slide Address: 0x00004000


可以配合 dSYM 工具检测

友盟错误分析_第1张图片

你可能感兴趣的:(友盟错误分析)