iOS Monkey自動化測試崩潰地址符號化

最近公司測試組同事在用Monkey搞iOS自動化測試,期間產(chǎn)生一些崩潰信息,反饋到開發(fā)這邊都是.ips文件。.ips文件的都是一些堆棧地址,無法定位到我們應(yīng)用的某一行。而且在bugly和友盟上的崩潰信息也是同樣(已上傳dYSM文件),沒辦法,只能自己去解析崩潰信息文件了。。。
這個(gè)轉(zhuǎn)化的過程有一個(gè)專業(yè)術(shù)語,叫符號化,就是講這些堆棧地址轉(zhuǎn)化為我們可識別的一些類名、方法名等符號信息。
符號化前.png
符號化后.png

網(wǎng)上一般說是有兩種方法:

1、命令行解析ips
2、使用Xcode解析ips/crash。
我主要采用的是第一種方法:利用命令行解析ips。

操作的過程如下:

1、獲取.xcarchive文件。

我們打包時(shí)的.xcarchive文件,具體獲取方法是打開xcode,點(diǎn)擊 【window】 --> 【Organizer】,進(jìn)入到我們打包Archives的管理界面,這個(gè)界面有我們之前打的包的所有記錄,選擇測試App對應(yīng)的App以及打包的版本,單擊選中的Archive選擇 show in Finder,然后將對應(yīng)的.xcarchive文件拷貝出來,放在桌面。

2、具體的解析過程(需要命令行操作)

2.1 在桌面上新建一個(gè)文件夾,命名隨意即可,我這里叫signifying
2.2 拷貝崩潰信息的.ips文件放到signifying文件夾中,并將.ips文件后綴名修改為.crash
2.3 前往文件夾 【/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash】,找到symbolicatecrash。然后把symbolicatecrash拷貝到signifying文件夾中。

屏幕快照 2019-07-08 下午3.56.34.png

2.4 從.xcarchive文件里,右鍵點(diǎn)擊【顯示包內(nèi)容】,從Products/Applications里面拷貝.app文件(這里可能沒有后綴,直接拷貝Applications文件夾內(nèi)的文件),放到signifying文件夾中。
2.5 同樣右鍵點(diǎn)擊【顯示包內(nèi)容】,拷貝dSYM文件下的AppID.dSYM文件(這里可能有很多.dSYM文件,選擇你App的AppId對應(yīng)的“你應(yīng)用的AppID.dSYM”),放到signifying文件夾中。
2.4-2.5

此時(shí),你會看到你桌面的文件夾下有下圖四個(gè)文件:
屏幕快照 2019-07-08 下午4.08.27.png

2.6 打開終端,cd到signifying文件夾中
2.7 輸入命令 ./symbolicatecrash "crash文件的絕對路徑""dSYM的絕對路徑" > signifying.crash ,敲回車鍵。

Tips:(如果2.7步驟之后,終端報(bào)錯(cuò) Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69...。終端中再輸入export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer",回車,然后再次輸入2.7步驟中的命令,回車即可)。

這個(gè)時(shí)候你會發(fā)現(xiàn)你的signifying文件夾中多了一個(gè)signifying.crash文件,它就是我們開頭提到的符號化之后的文件,就可以看到具體是哪個(gè)類,哪一行崩潰的信息了。大概步驟及過程就是這樣。


終端命令.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容