如何看Crash 文件
阿新 • • 發佈:2017-08-04
通過 container led 分享 版本 這不 bsp del 舉例
文件中key為
‘Triggered by Thread’:這個說明在哪個線程上崩潰的,這個一定得看要不然下面一堆堆棧信息完全就不知道看哪個了
如何查看崩潰日誌
好了,獲得是人類可讀語言的崩潰日誌後,或者是從別人手機到處崩潰日誌後,下一步就是查看了。下面就正對一個程序猿該如何看稍微說說。
崩潰日誌頭
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Incident Identifier: 635A20F0-BC79-4724-AE45-D49097085250
CrashReporter Key: 21a348fcc69b56e9f74e9b0078c8d7bbc0ace04a
Hardware Model: xxx
Process: crashDemo [3131] |
首先正對這個崩潰日誌頭,程序猿級別的童鞋只要關註幾點就好了。 Process
:是在Info.plist
CFBundleExecutable
所填寫的名字,首先先確認這個,別到時候發現尼瑪這不是自己的崩潰日誌 Version
:這個則是要關註的第二個點,就是這個崩潰日誌產生的版本,因為對於中大型公司來說的話,一般有可能多個版本並行的情況,針對崩潰日誌一定要看清楚是哪個版本,這個是由Info.plist
文件中的CFBundleVersion
和CFBundleVersionString
組成 OS Version
:這個字段則是說我這個崩潰日誌是在什麽系統上面產生的,iOS 8還是iOS 9?這個總得知道吧,因為有可能你用到了被停用的接口啊,或者是太新的接口在老版本上不兼容啊等問題 ‘Exception Type’:說明崩潰產生的原因,具體的詳情可以查看蘋果官網‘Triggered by Thread’:這個說明在哪個線程上崩潰的,這個一定得看要不然下面一堆堆棧信息完全就不知道看哪個了
崩潰日誌的堆棧信息
然後就是找到對應的崩潰堆棧信息來說的話,去找對應的崩潰函數,還是用上方的第一張圖來舉例:
其實如果是自己寫的代碼一眼就能看出來問題所在了,因為能從這個堆棧中找到問題所在。一般這個調用都是從上往下看,最上面的出現你熟悉的代碼一般就是問題所在了,如果上圖中[JsonUtil dataRequest:Key:Delegate:Info:] (JsonUtil.m:166)
一眼就能看出來這個是我的代碼,然後我去分析這行代碼周圍的代碼很快就能找到問題所在了。至於其他的就沒什麽好看了。
結束語
其實除了從蘋果審核人員那裏獲得崩潰日誌外,我們還可能通過從測試人員的手機裏拷貝出來。一般通過iTunes的同步功能就能講手機中的崩潰日誌拷貝到電腦裏面來查看(如下圖)。如果是Mac的話目錄應該是在/Users/chipsea/Library/Logs/CrashReporter/MobileDevice
目錄下能看到同步的到的崩潰日誌,然後根據日誌進行修改Bug吧。最後去屎吧八阿哥!
如何看Crash 文件