從Crash文件出發解決bug的一般步驟,分三步:
a, 獲取設備上的崩潰日志。
b, 分析崩潰日志,找到報錯位置(定位到函數和代碼行數)。
c, 打開代碼,改bug。
1, 獲取設備日志
1. 在可以獲取到運行app的手機,或者用戶配合導出日志的情況下。可以將設備連接到電腦,然后與電腦上的iTunes同步,崩潰日志會同步到電腦上的指定文件夾。(上面博客有指明)
2. 在可以直接獲取到運行app的手機的情況下。可以將設備連接到電腦,然后打開xcode軟件,選擇Window->Devices,然后可以在xcode中查看設備上的所有崩潰日志。
3. 在app已經上線的情況下,可以通過iTunes Connect獲取用戶的崩潰日志。
2, 解析日志
了解崩潰日志來源之后,提取對應項目崩潰的.crash文件,解析日志需要4樣東西:1. 第一步中提取到的.crash文件。2. symbolicatecrash二進制文件。3. dSYM文件。4. app文件
2.1 在命令行輸入下面的命令獲取symbolicatecrash二進制文件,獲取到路徑后,copy一份出來
find /Applications/Xcode.app -name symbolicatecrash -type f
2.2 從Xcode Archive的二進制文件中找到.dSYM文件和.app文件copy一份出來
2.3 新建一個文件夾CrashReport,把上面提取到的4個文件放在該文件夾下面,一次運行下列命令
//命令行進入CrashReport目錄 cd Desktop/CrashReport/ //配置環境變量 export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer //解析.crash文件 ./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
2.4 打開symbol.crash,發現和Xcode控制台崩潰日志是一樣的了
2.5 改bug
參考資料(戳這里):
> Xcode崩潰日志分析工具symbolicatecrash用法
> 別用symbolicatecrash來解析crash Log了
> 分析iOS Crash文件:符號化iOS Crash文件的3種方法
> iOS Crash - 收集篇 iOS Crash - 解析篇 iOS Crash - 分析篇
> Xcode7.3工具解析App崩潰日志(.crash文件)
> https://www.raywenderlich.com/33669/overview-of-ios-crash-reporting-tools-part-1
> https://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1
> https://www.raywenderlich.com/10505/my-app-crashed-now-what-part-2