Bugly iOS 符號表配置

一:介紹

1、什么是符號表?

符號表是內(nèi)存地址與函數(shù)名、文件名、行號的映射表。

符號表元素如下所示:

<起始地址> <結(jié)束地址> <函數(shù)> [<文件名:行號>]

2、為什么要配置符號表?

為了能快速并準確地定位用戶APP發(fā)生Crash的代碼位置,Bugly使用符號表對APP發(fā)生Crash的程序堆棧進行解析和還原。

舉一個例子:
4001.png

Bugly提供了自動和手動兩種方法配置iOS符號表。

二、自動配置:XCode + sh腳本(推薦)

1、自動配置請首先下載和解壓自動配置符號表工具包,然后選擇上傳方式并配置Xcode的編譯執(zhí)行腳本。

10002.png

2、直接上傳dSYM文件(默認方式 )

配置Xcode編譯執(zhí)行腳本

  • 在Xcode工程對應Target的Build Phases中新增Run Scrpit Phase


    4003.jpg
4004.jpg
  • 打開工具包中的dSYM_upload.sh,復制所有內(nèi)容,在新增的Run Scrpit Phase中粘貼

  • 修改新增的Run Scrpit中的 內(nèi)容:
    <YOUR_APP_ID> 為您的App ID
    <YOUR_APP_KEY>為您的App Key
    <YOUR_BUNDLE_ID> 為App的Bundle Id

4005.jpg

注意事項:
腳本默認在Debug模式及模擬器編譯情況下不會上傳符號表,在需要上傳的時候,請修改下列選項

  • Debug模式編譯是否上傳,1=上傳 0=不上傳,默認不上傳
    UPLOAD_DEBUG_SYMBOLS=0
  • 模擬器編譯是否上傳,1=上傳 0=不上傳,默認不上傳
    UPLOAD_SIMULATOR_SYMBOLS=0

至此,自動上傳符號表腳本配置完畢,Bugly 會在每次 Xcode 工程編譯后自動完成符號表配置工作。

三、手動配置

手動配置的流程如下:

  • 下載最新版Bugly iOS符號表工具,其中工具包中包括:

    • 符號表工具JAR包(buglySymboliOS.jar)
    • Windows的腳本(buglySymboliOS.bat)
    • Shell腳本(buglySymboliOS.sh)
    • 默認符號表配置文件(settings.txt)
    • 符號表工具iOS版-使用指南


      4009.png
  • 根據(jù)Crash的UUID定位dSYM文件

  • 使用工具生成符號表文件(zip文件)

  • 在頁面上傳符號表文件

注意事項:
環(huán)境要求 : 符號表工具的運行需要Java運行環(huán)境

示例操作:
1、將Xcode生成的dSYM文件拷貝至桌面
2、生成符號表文件
使用符號表工具的JAR包生成符號表文件的命令如下:

cd /Users/liuyi/Downloads/buglySymboliOS2.4.3\ \(1\) 

java -jar buglySymboliOS.jar -i /Users/liuyi/Desktop/HDGansuKJG.app.dSYM

生成的符號表文位于: /Users/liuyi/Desktop/

3、上傳 buglySymbol_HDGansuKJG_arm64-f1abe.zip 文件

upload.png

四、dSYM文件

什么是dSYM文件?

iOS平臺中,dSYM文件是指具有調(diào)試信息的目標文件,文件名通常為:xxx.app.dSYM。如下圖所示:
dSYM.png

為了方便找回Crash對應的dSYM文件和還原堆棧,建議每次構(gòu)建或者發(fā)布APP版本的時候,備份好dSYM文件。

如何定位dSYM文件?

一般情況下,項目編譯完dSYM文件跟app文件在同一個目錄下,下面以XCode作為IDE詳細說明定位dSYM文件。

-> 進入XCode;

-> 打開工程(已編譯過);

-> 在左欄找到“Product”項;

-> 鼠標右鍵點擊編譯生成的“xxx.app”;

-> 點擊“Show in Finder”;

如下圖所示:
4006.png
4007.png

XCode編譯后沒有生成dSYM文件?

XCode Release編譯默認會生成dSYM文件,而Debug編譯默認不會生成,對應的Xcode配置如下:

XCode -> TARGETS -> Build Settings -> Code Generation -> Generate Debug Symbols -> Yes

XCode -> TARGETS -> Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File

4008.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天認識了一位江南的姐姐,快40的人看上去不到30,向她討教了一番,整理如下(只是她個人的經(jīng)驗哦,不一定適合每個人...
    南宮伊兒nn閱讀 355評論 2 1
  • 簡介 使用ObservableField<T>來初始化變量,例如:var userPhone=Observable...
    Kotyo閱讀 5,197評論 0 0
  • 一 二 三 四 五 六 七 八 感謝五四青年節(jié) 大好青年 休假半天 (?ò ? ó?)
    小餅干本干閱讀 623評論 0 9
  • 熟悉的陌生的這種感覺, 重復的曾經(jīng)的那些情節(jié), 也只是懷念。 一滴滴一點點一頁一篇, 分手了也不過三百多天, 可我...
    賈小呆520閱讀 619評論 0 0

友情鏈接更多精彩內(nèi)容