天天看點

ios崩潰日志收集_iOS 崩潰日志分析(個人總結,最實用)

要分析奔潰日志需要三個檔案:crash日志,symbolicatecrash分析工具,.dSYM符号集

0. 在桌面建立一個crash檔案夾

1. 需要Xcode自帶的崩潰分析工具symbolicatecrash,這個檔案的位置參考:/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

快速找到的方法:打開finder後右鍵code.app 顯示包内容然後   /Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

将symbolicatecrash 拷貝到桌面的crash檔案夾中

2. 找到崩潰程式對應的.dSYM檔案,這個檔案是每個打包的程式都唯一對應的,是以每次打測試包的時候就要注意提前儲存

尋找.dSYM檔案的位置:Xcode->window->organizer 選擇Archives(打測試包的時候就在這個位置,可以直接操作)右鍵show in finder 可以看到你的程式檔案,再右鍵這個檔案顯示包内容有一個dSYMS檔案夾,點選進去,将.dSYM檔案拷貝到桌面上的crash檔案夾

3.找到你崩潰時的crash檔案,位置:Xcode->window->Devices->選中測試手機,點選views Devices Logs,根據時間點找到你的崩潰日志,右鍵Export 到桌面,再将這個crash檔案放入桌面的crash檔案夾

4.打開終端,進入你的crash檔案夾:/Desktops/crash 然後使用指令:./symbolicatecrash ./*.crash ./*.app.dSYM>symbol.crash 如果出現解析過程就說明解析成功,這個時候再傳回你的crash檔案夾打開crash檔案,就能夠看到解析後的crash,可以直接定位奔潰位置,奔潰函數名也能看到

5.如果執行指令失敗出現Error:"DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.

需要先執行export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer 指令後再執行./symbolicatecrash ./*.crash ./*.app.dSYM>symbol.crash

6.如果出現Error: can't find tool named 'otool' in the macosx SDK or any fallback SDKs at ./symbolicatecrash line 115.參照http://stackoverflow.com/questions/33358799/cant-find-tool-named-otool-in-the-macosx-sdk-or-any-fallback-sdks-at-symbol以及http://www.tuicool.com/articles/VzEBBn

7. 補充說明:

cat ./symbol.crash

可以在終端打開解析後的crash檔案,再使用

dwarfdump --lookup 0x000cf358 --arch armv7 appname.app.dSYM/

根據奔潰位置位址資訊找到指定位置

Line table dir : '/Users/zhy/Downloads/ios/vlink_app_xunyi/xunYi7/library/ASIHttpRequest'

Line table file: 'ASIDownloadCache.m' line 320, column 3 with start address 0x00000000000cf340

注:關于.dSYM檔案,當程式運作之後直接去products中右鍵show in finder 也能找到

iOS崩潰日志分析-b

1名詞解釋 1.1. UUID 一個字元串,在iOS上每個可執行檔案或庫檔案都包含至少一個UUID,目的是為了唯一識别這個檔案. 1.2. dwarfdump 蘋果提供的指令行工具,其中一些功能就是查 ...

[轉]IOS 崩潰日志分析

以下是一個crash log示例: // 1: Process Information Incident Identifier: 30E46451-53FD--896A-457FC11AD05F Cr ...

iOS崩潰日志分析

Incident Identifier: 55864905-937C-4172-B435-2ACA13D3070ECrashReporter Key: b85cab13431711060a5fab55 ...

iOS應用崩潰日志分析 iOS應用崩潰日志揭秘

轉自:http://www.raywenderlich.com/zh-hans/30818/ios%E5%BA%94%E7%94%A8%E5%B4%A9%E6%BA%83%E6%97%A5%E5%BF ...

【轉】iOS應用崩潰日志分析

作為一名應用開發者,你是否有過如下經曆?   為確定你的應用正确無誤,在将其送出到應用商店之前,你必定進行了大量的測試工作.它在你的裝置上也運作得很好,但是,上了應用商店後,還是有使用者抱怨會閃退 ! ...

iOS應用崩潰日志分析

轉自raywenderlich   作為一名應用開發者,你是否有過如下經曆?   為確定你的應用正确無誤,在将其送出到應用商店之前,你必定進行了大量的測試工作.它在你的裝置上也運作得很好,但是,上了應 ...

iOS crash日志分析

iOS crash日志分析 一. 尋找crash檔案:手機崩潰後的ips或者crash檔案(ips檔案可以直接修改成crash檔案,直接改字尾名就可以了),這裡說下如何拿到crash檔案 1. 把運作 ...

友盟崩潰日志分析工具 - dSYMTools

公司的項目中內建了UM的統計功能,UM統計可以統計app的使用者新增,版本分布,日志崩潰等資訊,打開錯誤分析按鈕,則可能會看到很多崩潰的日志資訊 選擇編輯可以選擇更多的版本号 點選清單中的一個崩潰日志, ...

iOS崩潰日志ips檔案解析

iOS崩潰日志ips檔案解析  一 簡介 測試組的同僚在進行穩定性測試時,通常會遇到一些崩潰,然後他們會将這些崩潰日志(一般是ips格式的檔案)回報給開發進行分析,但是這些ips檔案中的内容通常是如下 ...

随機推薦

mybatis入門

1.什麼是MyBatis ?      親愛的度娘是這樣說的: MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation ...

《Java程式性能優化》學習筆記 設計優化

豆瓣讀書:http://book.douban.com/subject/19969386/ 第一章 Java性能調優概述 1.性能的參考名額 執行時間: CPU時間: 記憶體配置設定: 磁盤吞吐量: 網絡吞 ...

SQL SERVER中非聚集索引的覆寫,連接配接,交叉,過濾

1.覆寫索引:select和where中包含的結果集中應存在“非聚集索引列”,這樣就不用查找基表了,索引表即可搞定:   2.索引交叉:索引的交叉可以了解成建立多個非聚集索引之間的join,如表實體一 ...

Android 中擷取 debug 測試 SHA1 和 release SHA1 證書指紋資料的方法

百度地圖開發的時候要申請KEY,需要提供SHA1證書指紋資料 Eclipse eclipse中直接檢視:windows -> preferance -> android -> bui ...

fscanf的傳回值未成功輸入的元素個數 .xml

pre{ line-height:1; color:#38ede1; background-color:#5b2814; font-size:16px;}.sysFunc{color:#008080; ...

MySQL曆史版本下載下傳(官方)

http://downloads.mysql.com/archives/community/ 社群版本(開源免費)

Unity 3D使用GameObject建立一個簡單的可移動物體

于Unity 3D遊戲的開發.遊戲腳本需要3D模拟組合,該腳本将被寫入阻力3D為了達到效果對象. 以下是一個小執行個體,使用Unity 3D實作一個可控制移動的小人.小人能夠向前.向後.向左和向右移動. ...

關鍵字中mysql資料庫查詢條件帶中文無結果解決辦法

package keyword; import java.io.UnsupportedEncodingException; import java.sql.Connection; import jav ...

linux dd指令

ghost和g4l 安裝作業系統,速度太慢,整個過程太冗長乏味了. 安裝過程中,需要回答若幹問題,系統需要安裝無數個軟體,建立和寫入無數的檔案.因為涉及到大量的檔案定位和讀寫,速度一定是快不起來的. ...

Spring AOP的日志記錄

現在的項目是Spring+MyBatis,前段時間項目經理讓我幹了一個活,就是給所有的controller裡的所有方法加上日志記錄的代碼,其實沒有多少,也就300來個方法,也沒有抱怨什麼,一邊打着瞌睡 ...