準備
- 崩潰日志。實時日志的抓取或者是從設(shè)備導(dǎo)出的崩潰日志均可。
- Mac系統(tǒng)電腦,打開終端備用(暫時不確定dwarfdump命令是否只有mac才有,后續(xù)跟進)。
- 要分析的app的ipa包打包時生成的dSYM文件。
崩潰日志示例
我在控制臺抓取到了一個崩潰日志
步驟和用到的終端命令
- 查看DemoApp.ipa的UUID:
先將DemoApp.ipa解壓,進入Payload,看到DemoApp.app
終端在當(dāng)前目錄執(zhí)行:
dwarfdump --uuid DemoApp.app/DemoApp
- 查看dSYM文件的UUID:
dwarfdump --uuid DemoApp.dSYM
上面兩步,得到的應(yīng)該是相同的uuid,這樣我們就可以判定他們是對應(yīng)的,可以進行下一步分析了。
根據(jù)id查詢:
//lookup后面跟id,--arch后面跟要查詢的id所在的CPU平臺(在本文中指崩潰發(fā)生的平臺),最后跟dSYM文件路徑
dwarfdump --lookup 0x000cf358 --arch armv7 yourappname.app.dSYM
5.dSYM文件,如果在本地xcode運行的話,直接去products中右鍵show in finder 也能找到