符號表是內存地址與函數名、文件名、行號的映射表。
符號表元素如下所示:
<起始地址> <結束地址> <函數> [<文件名:行號>]
通過上傳符號表, 我們能將 App 發生 Crash 的程序堆棧進行解析還原
- Bugly官網 創建產品,創建成功后獲取應用的 App ID
- 集成 'Bugly',并在didFinishLaunchingWithOptions方法里注冊
[Bugly startWithAppId:kBuglyAppID];
- 下載Bugly iOS符號表工具,里面是如下兩個文件
- XCode Release編譯默認會生成dSYM文件,而Debug編譯默認不會生成,對應的Xcode配置如下:
XCode -> Build Settings -> Code Generation -> Generate Debug Symbols -> Yes
XCode -> Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File - 找到dSYM文件,將dSYM文件放到剛剛的文件夾里
-
debug 直接在目錄Product下app里,右鍵
- release 去Xcode 頂部菜單欄 -> Window -> Organizer ,對應的歸檔包右鍵
- 確認你本機的Java運行環境,JDK版本最好用1.8的。沒有的話自己下載安裝一下
鏈接: https://pan.baidu.com/s/1aeLLpGCyXxspFHoCmuyw-Q 密碼: jt2m
- cd到剛剛的目錄里,輸入以下命令
java -jar buglyqq-upload-symbol.jar -appid 你的appid -appkey 你的appkey -bundleid 你應用的bundleid -version 應用版本號 -platform IOS -inputSymbol 你的dSYM文件(類似:**.app.dSYM)
- 跑完你會看到如下就是成功了。如果不放心,也可以去Bugly里的異常配置-符號表管理,看看有沒有
##[info]retCode: 200 response message: {"statusCode":0,"msg":"success","uploadReqID":"xxxxxxxxxxxxxx"}