日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

iOS 符號表

介紹iOS符號表的基礎概念,以及如何找到符號表并上傳。

一、什么是符號表

1. 簡介

符號表(Symbol Table)是編譯器和解釋器中用來存儲源代碼中符號信息的數據結構,符號表元素如下所示:

<起始地址> <結束地址> <函數> [<文件名:行號>]

2. 作用

為了能準確定位Crash發生的代碼位置,崩潰分析使用符號表對Crash堆棧進行解析還原。例如下面的原始堆棧及其還原之后:

  • 原始堆棧

    crash_ios_demo  0x0000000102a95d45 0x102a94000 + 7493
  • 還原堆棧

    crash_ios_demo  0x100879d45 -[ViewController testCrash:] ViewController.m:29 (in crash_ios_demo)

3. iOS符號表

iOS平臺中,dSYM文件是保存符號表的目標文件,文件名通常為xxx.app.dSYM,建議每次構建或發布App的時候,備份好dSYM 文件。

重要

在上傳符號表的時候,需要將dSYM文件壓縮成一個zip文件上傳。

二、如何找到符號表

1. XCode查找

一般情況下,XCode項目編譯完dSYM文件跟app文件在同一個目錄下,按以下步驟查找dSYM文件:

1、進入XCode,打開App工程;
2、在項目導航欄找到“Product”項;
3、鼠標右鍵點擊編譯生成的“xxx.app”,點擊“Show in Finder”
4、同目錄的xxx.app.dSYM即為符號表文件
  • Xcode界面

    image

  • Finder界面

    image

2. XCode編譯后無dSYM文件

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

Generate Debug Symbols -> Yes
Debug Information Format -> DWARF with dSYM File

image

3. 找回已發布App的dSYM文件

1、打開Xcode頂部菜單欄->Window->Organizer窗口;
2、找到發布的歸檔包,選擇“Show in Finder”;
3、右鍵選擇定位到的歸檔文件,選擇“顯示包內容”;
4、選擇dSYMs目錄,即可看到App對應的dSYM文件。

image

image

image

4. Crash與dSYM的UUID匹配

崩潰分析在還原Crash堆棧時,需要根據UUID來匹配符號表文件,因此需保證上傳的符號表文件的UUID與Crash對應APP的UUID一致。

重要

崩潰分析Crash的UUID和符號表文件的UUID可能因為字母的大小寫或者連接符“-”而產生差異,不影響其內容一致性。

  • Crash UUID

    image

  • 符號表文件UUID

    通過以下命令查看UUID:

    xcrun dwarfdump --uuid <dSYM文件>

    image

三、 如何上傳符號表

詳見 網頁上傳符號表

四、 FAQ

詳見 符號表 FAQ