1.從 appName.xcarchive 里提出 appName.dSYM 和 appName文件。放到一個目錄下。
2.使用終端進入這個目錄,使用
xcrun atos arm64 -o appName 0x0000000100098000
或者使用
xcrun atos -arch arm64 -o appName.app/appName 0x0000000100098000
arm64是架構 ,appName是app文件,0x0000000100098000是基地址
下面詳細說明:
首先打開Xcode,點擊最上方菜單欄的Window選項,選擇Organizer,打開打包頁面。
在打包頁面選擇崩潰的包,右鍵選擇Show in Finder。(包一定要選對,不然內存地址定位會出錯)
打開Finder頁面后選擇的包會顯示高亮,右鍵,選擇顯示包內容。
點擊顯示包內容后會看到dSYNs文件夾,點進去會找到這個appName.dSYM文件,將它拷貝到一個文件里(最好是在桌面上單獨創(chuàng)建一個crash文件夾)。然后就可以關掉這個窗口了。
點擊桌面上你新建的crash文件夾,右鍵appName.dSYM,點擊顯示包內容,然后依次打開Contents-Resources-DWARF(這里就一個文件夾鏈),找到appName文件,將它也拷貝到crash文件夾中。
打開終端,cd crash文件夾目錄(直接把文件夾拖進終端,自動顯示目錄),然后輸入xcrun atos arm64 -o appName crashAddress(這里代表崩潰的地址,別那么耿直的輸入“crashAddress”。。)
其中arm64要根據(jù)在哪個型號的機器崩潰自行確定,可能是armv7,如果是模擬器的話用i386
參考文章:
使用atos和錯誤堆棧內存地址定位崩潰代碼位置
iOS利用堆棧地址定位崩潰位置
如何通過友盟的錯誤分析報告,定位到錯誤代碼的位置