iOS15之后蘋(píng)果崩潰日志解析方法
背景
iOS 15之后,iPhone 崩潰日志崩潰之后奴迅,崩潰日志的組織格式有變化了青责,不再是之前的行式表示,而是JSON
格式記錄取具。示例如下脖隶。
獲取解析腳本
蘋(píng)果在Xcode13的工具里提供了新的腳本,解析iOS15之后的崩潰日志暇检,腳本名字為CrashSymbolicator.py
,可以在目錄/Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources
下獲取腳本浩村。
解析方法
因?yàn)樘O(píng)果是python3寫(xiě)的腳本,所以需要使用python3調(diào)用腳本占哟,簡(jiǎn)單的方法命令為
python3 /Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources/CrashSymbolicator.py 要解析的崩潰日志 -d dSYM所在路徑 -o 解析后的日志地址
如圖所示:
PS: 請(qǐng)注意心墅,解析之后的結(jié)果也是json格式的。
魔改腳本
因?yàn)槟_本是在Xcode里面的榨乎,如果要直接使用怎燥,需要在腳本首行增加如下邏輯如下
import sys
sys.path.append("/Applications/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Versions/A/Resources/")
如果有人想直接獲取,請(qǐng)移步下載
具體參數(shù)說(shuō)明
“-d”蜜暑,”--dsym":后面需要加上dSYM文件所在的路徑
"-s"铐姚,"--search-dir":后面需要加上額外的系統(tǒng)符號(hào)文件所在的目錄
"-o",,"--output":后面需要加上解析后的崩潰日志保存地址肛捍,默認(rèn)是終端輸出
"-p", "--pretty":崩潰日志格式化隐绵,默認(rèn)不需要
"-w", "--workers":開(kāi)啟多進(jìn)程符號(hào)化崩潰日志,默認(rèn)不開(kāi)啟
”--no-inlines",:解析的時(shí)候需要顯示內(nèi)聯(lián)函數(shù)拙毫,默認(rèn)不顯示
“--no-source-info":解析的時(shí)候不顯示函數(shù)的文件和行數(shù)依许,默認(rèn)顯示
”--only-missing":只回溯崩潰堆棧,默認(rèn)回溯所有符號(hào)
"--no-system-frameworks":系統(tǒng)符號(hào)不解析缀蹄,默認(rèn)解析
”-v"峭跳,"--verbose":輸出解析過(guò)程詳細(xì)日志,默認(rèn)不輸出
"crash_log":要解析的崩潰日志路徑缺前,或者等待終端輸入