日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Xcode自带工具symbolicatecrash解析Crash文件

發布時間:2025/3/21 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xcode自带工具symbolicatecrash解析Crash文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目中遇到一臺手機運行測試包閃退的現象,而且是一個設備閃退其他設備沒有再現的情況

可以看到Crash信息,但是指定的問題給出的是16進制內存地址,根本無法定位問題發生在哪個類的哪個函數中

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

?

文章講述如下5個問題:

一、如何獲取手機的Crash文件

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

三、如何獲取以上三個文件

四、如何找到symbolicatecrash

五、如何使用symbolicatecrash

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

?

一、如何獲取手機的Crash文件

1. 打開Xcode,連接上手機

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

3. 左側選中連接的手機,右側即可看到Crash信息,View Device Logs

Log類似這樣的:

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

1. xxx.crash后綴名的文件

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

3. xxx.app文件

注:xxx為項目名稱

三、如何獲取以上三個文件

1. crash文件在第一步中已經說明,將內容保存在以【項目名.crash】為文件名的文件即可

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

? 通過Xcode獲取:

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

?

②打開Archive文件夾,找到Archive文件->顯示包內容

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

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

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

? 通過終端命令行找:

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

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

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

四、如何找到symbolicatecrash

?1. 終端中輸入如下命令行進行查找:

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

?2. 根據查找結果,帶有iPhone路徑的,即可找到?symbolicatecrash

?3.?symbolicatecrash所在的文件夾,復制symbolicatecrash文件到之前放那三個文件的文件夾中

cd 復制查找的路徑到此處 open .

?

?

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

?

五、如何使用symbolicatecrash

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

? 2. 終端輸入命令進入存放文件的文件夾,執行如下命令

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

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

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

?4. 執行命令

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

此時會出現報錯:

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

再執行如下命令即可

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

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

?

?5. 此時打開xxx.log文件即可獲得如下結果,之前是16進制地址的地方,現在全部具體化了,哪個類文件的多少行代碼,哪個方法一目了然

? ? ?然后就可以根據項目的情況解析推斷閃退發生的原因了^_^

?

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

?

??

轉載于:https://www.cnblogs.com/china-fanny/p/7610487.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。