日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Xcode自带工具symbolicatecrash解析Crash文件

發(fā)布時(shí)間:2025/3/21 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xcode自带工具symbolicatecrash解析Crash文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

項(xiàng)目中遇到一臺(tái)手機(jī)運(yùn)行測試包閃退的現(xiàn)象,而且是一個(gè)設(shè)備閃退其他設(shè)備沒有再現(xiàn)的情況

可以看到Crash信息,但是指定的問題給出的是16進(jìn)制內(nèi)存地址,根本無法定位問題發(fā)生在哪個(gè)類的哪個(gè)函數(shù)中

所以需要解析這個(gè)Crash文件,好了,廢話就說這么多,以下是干貨~~~

?

文章講述如下5個(gè)問題:

一、如何獲取手機(jī)的Crash文件

二、使用symbolicatecrash解析Crash文件具備的條件

三、如何獲取以上三個(gè)文件

四、如何找到symbolicatecrash

五、如何使用symbolicatecrash

==============================我是分割線=============================================

?

一、如何獲取手機(jī)的Crash文件

1. 打開Xcode,連接上手機(jī)

2. 菜單中,Window->Devices,打開Devices窗口

3. 左側(cè)選中連接的手機(jī),右側(cè)即可看到Crash信息,View Device Logs

Log類似這樣的:

二、使用symbolicatecrash解析Crash文件具備的條件

1. xxx.crash后綴名的文件

2. xxx.app.dSYM后綴名的文件

3. xxx.app文件

注:xxx為項(xiàng)目名稱

三、如何獲取以上三個(gè)文件

1. crash文件在第一步中已經(jīng)說明,將內(nèi)容保存在以【項(xiàng)目名.crash】為文件名的文件即可

2.后兩個(gè)文件一起獲得,可以通過Xcode獲取,也可以通過終端輸入命令行獲得:

? 通過Xcode獲取:

? ①Xcode->Window->Organizer,打開Archive窗口,找到App,點(diǎn)擊顯示菜單顯示Show In Finder?

?

②打開Archive文件夾,找到Archive文件->顯示包內(nèi)容

? ?在dSYMs文件夾中找到.app.dSYM文件

? ?在Products->Applications文件夾中找到app文件

? ?然后將這三個(gè)文件放在一個(gè)文件夾下,以供后面使用

? 通過終端命令行找:

? ①打開終端,輸入cd ~先到根目錄

? ②然后輸入cd Library/Developer/Xcode/Archives/

? ③然后輸入open. 打開Archive文件夾,后面就和通過Xcode的步驟②是一樣的了

四、如何找到symbolicatecrash

?1. 終端中輸入如下命令行進(jìn)行查找:

find /Applications/Xcode.app -name symbolicatecrash -type f

?2. 根據(jù)查找結(jié)果,帶有iPhone路徑的,即可找到?symbolicatecrash

?3.?symbolicatecrash所在的文件夾,復(fù)制symbolicatecrash文件到之前放那三個(gè)文件的文件夾中

cd 復(fù)制查找的路徑到此處 open .

?

?

============以上所有工作逐步就緒,以下如何使用symbolicatecrash命令===========

?

五、如何使用symbolicatecrash

? 1. 必須保證app文件,.app.dSYM及.crash文件的uuid一致才可解析成功

? 2. 終端輸入命令進(jìn)入存放文件的文件夾,執(zhí)行如下命令

dwarfdump --uuid xxx.app/YouXiIOSClient dwarfdump --uuid xxx.app.dSYM

?3. 通過以上命令查看uuid,然后對比.crash文件第一行的Incident Identifier,看他們是否一致

? ? (我的情況是前兩個(gè)文件一致,肯定的,但是和.crash文件不一致,我的做法是把.crash文件的改成和他倆一致)

?4. 執(zhí)行命令

./symbolicatecrash xxx.crash xxx.app.dSYM > xxx.log

此時(shí)會(huì)出現(xiàn)報(bào)錯(cuò):

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

再執(zhí)行如下命令即可

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

// 再次執(zhí)行,即可完成crash文件解析
./symbolicatecrash xxx.crash xxx.app.dSYM > xxx.log ?

?

?5. 此時(shí)打開xxx.log文件即可獲得如下結(jié)果,之前是16進(jìn)制地址的地方,現(xiàn)在全部具體化了,哪個(gè)類文件的多少行代碼,哪個(gè)方法一目了然

? ? ?然后就可以根據(jù)項(xiàng)目的情況解析推斷閃退發(fā)生的原因了^_^

?

=======================最后來一張對比照片,看的更清晰==============================

?

??

轉(zhuǎn)載于:https://www.cnblogs.com/china-fanny/p/7610487.html

總結(jié)

以上是生活随笔為你收集整理的Xcode自带工具symbolicatecrash解析Crash文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。