• iOS 友盟统计的bug分析


    前提:保留打包发布时的 myapp.xcarchive文件(注:在xcode-window-Organizer-Archives 中可以找到,通过命令打包需要自己当时备份下这个文件)

    1、从myapp.xcarchive中得到myapp.app.dSYMmyapp 两个文件并放到同一个文件夹中

    2、找到一条该版本app 在友盟bug统计中崩溃日志的,在其中可以找到崩溃时的地址信息如:0x1001ed424

    友盟统计的崩溃log
    Application received signal SIGSEGV (
    null) ( 0 CoreFoundation 0x000000018400e5b8 <redacted> + 160 1 libobjc.A.dylib 0x00000001947600e4 objc_exception_throw + 60 2 CoreFoundation 0x000000018400e4dc <redacted> + 0 3 myapp 0x1005d0fdc myapp + 6098908 4 libsystem_platform.dylib 0x0000000194f7c94c _sigtramp + 52 5 myapp 0x1001ed424 myapp + 2020388 6 myapp 0x1001ed240 myapp + 2019904 7 myapp 0x1001ed364 myapp + 2020196 8 myapp 0x1001e6654 myapp + 1992276 9 myapp 0x10024a85c myapp + 2402396 10 libdispatch.dylib 0x0000000194da53ac <redacted> + 24 11 libdispatch.dylib 0x0000000194da536c <redacted> + 16 12 libdispatch.dylib 0x0000000194da9980 _dispatch_main_queue_callback_4CF + 932 13 CoreFoundation 0x0000000183fc5fa4 <redacted> + 12 14 CoreFoundation 0x0000000183fc404c <redacted> + 1492 15 CoreFoundation 0x0000000183ef10a4 CFRunLoopRunSpecific + 396 16 GraphicsServices 0x000000018d0935a4 GSEventRunModal + 168 17 UIKit 0x00000001888263c0 UIApplicationMain + 1488 18 myapp 0x10029b5dc myapp + 2733532 19 libdyld.dylib 0x0000000194dcea08 <redacted> + 4 ) dSYM UUID: BF6D8B68-25AD-3D83-9EFA-2EC4662771CC CPU Type: arm64 Slide Address: 0x0000000100000000 Binary Image: myapp Base Address: 0x0000000100064000

    3、打开终端,切换到该文件夹,运行下面命令 终端中将显示错误出现的的详细信息

    xcrun atos -arch arm64 -o myapp.app/myapp 0x1001ed424
    
    

    或者

    dwarfdump --lookup 0x1001ed424 -arch arm64 myapp.app.dSYM

    注:对一些特殊复杂的bug引起的崩溃,通过此命令的分析,也得不到什么有用的错误信息提示。

    关于dSYM

    dSYM 在打包的过程中生成的保存app 16 进制函数地址映射信息的中转文件,通过出错的函数地址去查询 dSYM 文件中程序对应的函数名和文件名,从而得到错误详细信息。

  • 相关阅读:
    Codeforces Round #657 (Div. 2) 题解
    洛谷 P2765 魔术球问题 (最小路径覆盖 or 贪心)
    洛谷 P2472 蜥蜴 (最大流)
    Codeforces Round #665 (Div. 2) 题解
    洛谷 P1231 教辅的组成 (三分图匹配,裂点)
    USACO5.4 奶牛的电信Telecowmunication (最小割,割边转割点)
    有关网络流的一些板子题
    洛谷 p2756 飞行员配对方案问题(最大流,二分图匹配)
    JSON.toJSONString中序列化空字符串遇到的坑
    关于mysql自动备份的小方法
  • 原文地址:https://www.cnblogs.com/muzijun/p/5692223.html
Copyright © 2020-2023  润新知