線上應用bug跟蹤查找-友盟統計


  線上的應用只要用心點點都能發現些bug,連微信,QQ也不列外。但是bug中最嚴重的算是閃退了,這導致了用戶直接不能使用我們的app。

  我們公司是特別注重用戶反饋和體驗的,我們會定期打電話咨詢用戶的使用情況。我們也有自己的天使用戶群,這些用戶會跟我們及時的反饋應用的使用情況,bug情況,還有他們的需求。

  用戶不是技術人員他無法跟你清楚的描述怎么產生閃退的,於是我們需要一個bug統計的功能,我們公司采用友盟統計實現bug的記錄。我們在iOS應用中植入友盟統計的功能,我也經常在查看友盟的錯誤統計和錯誤趨勢排除項目中不穩定的點。用過友盟統計的都知道,我們只能看到一些16進制的地址,並不能清楚的知道到底哪里出現問題了。

  友盟上的bug日志:

Application received signal SIGSEGV
(null)
((
    0   CoreFoundation                      0x2d539feb <redacted> + 154
    1   libobjc.A.dylib                     0x37db2ccf objc_exception_throw + 38
    2   CoreFoundation                      0x2d539f15 <redacted> + 0
    3   TheFirstClass                       0x2928a1 TheFirstClass + 2680993
    4   libsystem_platform.dylib            0x383d9f8b _sigtramp + 34
    5   libsystem_malloc.dylib              0x3839c267 <redacted> + 2270
    6   libsqlite3.dylib                    0x3805bc67 sqlite3_exec + 2322
    7   libsqlite3.dylib                    0x3805b9b5 sqlite3_exec + 1632
    8   libsqlite3.dylib                    0x38094c6b sqlite3_prepare_v2 + 30
    9   TheFirstClass                       0xc020d TheFirstClass + 770573
    10  TheFirstClass                       0xc0689 TheFirstClass + 771721
    11  TheFirstClass                       0x103457 TheFirstClass + 1045591
    12  TheFirstClass                       0x103331 TheFirstClass + 1045297
    13  TheFirstClass                       0x18889d TheFirstClass + 1591453
    14  libdispatch.dylib                   0x382a07cb <redacted> + 26
    15  TheFirstClass                       0x188831 TheFirstClass + 1591345
    16  TheFirstClass                       0x10325d TheFirstClass + 1045085
    17  TheFirstClass                       0x1031e9 TheFirstClass + 1044969
    18  TheFirstClass                       0x10319d TheFirstClass + 1044893
    19  libdispatch.dylib                   0x382a260f <redacted> + 46
    20  TheFirstClass                       0x103157 TheFirstClass + 1044823
    21  TheFirstClass                       0x1209d TheFirstClass + 57501
    22  TheFirstClass                       0x115a3 TheFirstClass + 54691
    23  TheFirstClass                       0x10acf TheFirstClass + 51919
    24  TheFirstClass                       0x16c03f TheFirstClass + 1474623
    25  TheFirstClass                       0x293ef TheFirstClass + 152559
    26  TheFirstClass                       0x79d5b TheFirstClass + 482651
    27  libdispatch.dylib                   0x3829a833 <redacted> + 10
    28  libdispatch.dylib                   0x3829a81f <redacted> + 22
    29  libdispatch.dylib                   0x382a149f <redacted> + 278
    30  CoreFoundation                      0x2d5048f1 <redacted> + 8
    31  CoreFoundation                      0x2d5031c5 <redacted> + 1300
    32  CoreFoundation                      0x2d46df0f CFRunLoopRunSpecific + 522
    33  CoreFoundation                      0x2d46dcf3 CFRunLoopRunInMode + 106
    34  GraphicsServices                    0x323c6663 GSEventRunModal + 138
    35  UIKit                               0x2fdb916d UIApplicationMain + 1136
    36  TheFirstClass                       0x122f01 TheFirstClass + 1175297
    37  libdyld.dylib                       0x382bfab7 <redacted> + 2
)

dSYM UUID: 1ED274B4-8D63-3247-8168-FB884B9E88DA
CPU Type: armv7
Slide Address: 0x00004000
Binary Image: TheFirstClass
Base Address: 0x000bc000

 

  bug查找步驟如下:

  1.為了跟蹤友盟的bug日志,我們必須在應用打包的時候同時保存打包的“XX.xcarchive”,顯示XX.xcarchive的包內容,然后找到dSYMs文件夾下的“項目名.app.dSYM”放到桌面。

  2.顯示“項目名.app.dSYM”的包內容,找到“項目名”文件同樣拷貝到桌面。

  3.打開終端

    a. 輸入 cd deskTop

    b. dwarfdump --1ED274B4-8D63-3247-8168-FB884B9E88DA(這是dSYM UUID) 項目名.app.dSYM

      c. dwarfdump --arch= armv7(armv7這是CPU Type) --lookup 0xc020d0xc020d這是錯誤信息的地址) /Users/你的電腦/Desktop/項目名

 

  通過上述的步驟就能定位到崩潰的代碼,至於為什么這行代碼產生崩潰,這就需要自己去分析解決了。這是我總結的查找友盟上bug的簡便方法,使用終端不用下載解析bug的圖像化插件,簡單幾句終端代碼也不麻煩。

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM