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

iOS 符號表管理

移動分析支持通過符號表對 iOS App 的閃退日志進行反向解析,以便定位 App 中的問題代碼,幫助提高排查、解決線上異常問題的效率,同時提供 iOS 符號表管理功能以便導入、查詢符號表并進行符號表反解測試。

什么是符號表

符號表是內存地址與函數名、文件名、行號的映射表。符號表元素如下所示:

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

iOS App 出現閃退時,閃退日志中的 Crash 堆棧為混淆后的二進制信息,需要通過符號表對這些二進制堆棧信息進行反向解析,將其轉換為可讀的函數名和行數,以便定位 App 中出現問題的代碼。

導入 iOS 符號表

對閃退日志進行符號反解前,要先上傳符號表。在 iOS 平臺中,dSYM 文件是保存符號表的目標文件,文件名通常為 xxx.app.dSYM,建議每次構建或發布 App 的時候,備份好 dSYM 文件。

上傳 iOS 符號表的步驟如下:

  1. 在 dSYM 文件當前目錄下,通過 Linux 命令 tar -czvf symbol.tgz ./xxx.app.dSYM 將 dSYM 文件壓縮成 tgz 包。

  2. 登錄 mPaaS 控制臺,選擇目標應用后,從左側導航欄進入 移動分析 > 性能分析 > iOS 符號表管理 頁面。

  3. 點擊 導入APP 符號表,在導入符號表彈窗中,輸入符號表信息,并上傳相應的符號表。

    • 版本:App 版本號。

    • Module Name:iOS App 二進制文件名稱,存儲在符號表文件里面用來標識出對應的 App 二進制文件,以方便用戶匹配 App 二進制文件和 App 的符號表文件。

      此處填寫 App 主 module 的 moduleName,例如打出的包是 Produce.app, 那么 moduleName 為 Produce

    • UUID:通用唯一識別碼(Universally Unique Identifier,簡稱 UUID),是機器生成的唯一標識符。iOS 應用每次編譯時都會生成一個 UUID,為保證反解成功,堆棧的 UUID 和應用的符號表文件中的 UUID 必須保持一致(也就是來自同一次編譯)。還原 Crash 堆棧信息時,僅當導入的符號表文件的 UUID 與閃退日志中的 UUID 一致時,才能準確地對堆棧進行解析還原。

      此處填寫 App 主 module 的 UUID,如果有多個,選擇其中一個填寫即可。例如有 armv7、arm64 兩種架構,則會有兩個 UUID,任選一個填寫即可。格式上,UUID 字符串需去掉“-”,并且全部小寫,例如:b7583434dc5e377bb4d8e7b69bf4c1fb。

    • 上傳符號表:支持兩種上傳方式。

      • URL 上傳:輸入符號表壓縮后的 tgz 文件的 URL。如果指定 URL 下沒有符號表文件,會返回報錯信息。

      • 本地上傳:上傳本地的符號表文件。

  4. 點擊 導入,導入符號表。

  5. 在 iOS 符號表管理頁面中查看符號表的導入狀態。如果符號表狀態為 Done,表示導入成功;如果為 Failed,則表示導入失敗,請根據錯誤提示重新導入符號表文件。

導入的符號表都將展示在符號表管理頁面,可根據 App 版本進行查詢。

反解測試

反解測試用于驗證導入的符號表文件是否有效。

反解測試的步驟如下:

  1. 在 iOS 符號表列表中,選擇導入成功的目標符號表,點擊操作列下的 反解測試

  2. 原始日志文本 欄中輸入需要反解的閃退日志內容后,點擊 反解日志日志反解結果 欄將顯示反解后的日志文本,如果反解失敗,會提供失敗原因,例如“UUID 不匹配”等。