解析閃退日志之前需要準備的東西:
1.dSYM(debugging SYMbols)又稱為調試符號表,
2.app(安裝包)
3.symbolicatecrash(解析閃退程序)
-
在Xcode的Organizer中的Archivs 選擇提交到AppStore上的一個版本。右鍵選擇 “Show in Finder” 可以找到.xcarchive文件
-
從.xcarchive文件中找到.dSYM和.app文件
- 使用命令查找 symbolicatecrash 文件
find /Applications/Xcode.app -name symbolicatecrash -type f
在第三方比如友盟閃退日志收集中往往只有一些地址。這里有以下通過閃退地址來解析閃退日志
把 .dSYM, .app和symbolicatecrash文件放到一個文件夾中,并通過命令行進入該文件夾
dwarfdump --lookup 0x1000f0548 chexiaoxi.app.dSYM
//chexiaoxi是項目名字
解析結果:(結果好長好長)
或者執行
atos -o- chexiaoxi.app.dSYM/Contents/Resources/DWARF/chexiaoxi 0x1000f0548
可更直觀直接看到結果,閃退是哪個類哪一行
除了第三方也可以直接使用symbolicatecrash程序解析閃退日志從Organizer -> Crashes中Show in Finder獲取 .xccrashpoint文件,打開顯示內容,可以獲取 .crash文件.
復制.crash文件到和 .dSYM, .app,symbolicatecrash文件同級的目錄,并改名xxx.crash,例如圖片中的1.crash,2.crash(因為復制出來的.crash文件名字太長不方便命令行輸入)
Paste_Image.png
使用以下命令解析閃退日志
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer./symbolicatecrash 1.crash chexiaoxi.app > 1.log
可得到1.log文件,打開就可看到崩潰日志.