先看乙個下demo**:
nsstring *str = nil;
nsarray *arr = @[@"hello",str];
**很簡單,因為陣列裡面有nil元素,所以執行的時候一定會崩潰,執行的崩潰畫面分析:
先看乙個oc的ddemo工程:
nsstring *str = nil;
nsarray *arr = @[@"hello",str];
**很簡單,因為陣列裡面有nil元素,所以執行的時候一定會崩潰,執行的崩潰畫面分析:
螢幕快照 2016-11-02 下午9.52.17.png
如圖所示,在我們工作中,在打了全域性斷點的情況下,在一些情況下,還是不能崩潰在指定的問題**位置,而在main函式的入口處,我們有時候就會很茫然,不知所謂,這時候,我們就要一步一步來分析,問題道理在**,首先肯定會先看崩潰原因:
attempt to insert nil object from objects[1]
我們就知道,奧。。。原來是陣列裡面插入了一盒nil 的元素,導致崩潰的,這時候,就會去想,是**呢,**插入nil物件了呢???
這很明顯,不是乙個正確的解決問題的思路,在看完原因後,我們應該,看一下執行緒下呼叫堆疊的資訊,堆疊資訊我們應該從下往上看(看圖中的箭頭方向),一行一行的看,可以看到我們熟悉的方法,我們最終可以得到以下資訊:
在控制器viewcontroller載入viewdidload方法的中,初始化乙個陣列,由於嘗試插入乙個nil元素,引起了崩潰。所以是不是很直觀的就知道了問題的具體資訊了
螢幕快照 2016-11-02 下午10.36.03.png
return yes;
}swift
return true
}看看,bugly的崩潰資訊:
螢幕快照 2016-11-02 下午10.56.42.png
螢幕快照 2016-11-02 下午10.56.55.png
螢幕快照 2016-11-02 下午10.57.11.png
可以看到,bugly可以幫助我們做一些崩潰資料的統計與分析。
螢幕快照 2016-11-02 下午10.57.28.png
當我們進入崩潰的詳情頁面,可以清楚的看到在哪乙個控制器,哪乙個方法,什麼原因引起的崩潰。
在日常工作中,看崩潰日誌,使我們程式設計師每天必需要做工作,怎樣是不是很方便啊,友盟的使用和這個很類似,打擊有興趣可以自己嘗試哦。
**:
ios崩潰日誌收集 iOS崩潰日誌收集與解析
收集crash日誌方式 1.裝置上直接檢視 路徑 設定 隱私 分析 分析資料 2.xcode獲取裝置上資訊 路徑 xcode選單欄window devices and simulators 選中裝置 view device logs 3.xcode獲取發布版本崩潰資訊 路徑 xcode選單欄wind...
iOS崩潰日誌分析及蒐集
當乙個ios應用程式崩潰時,系統會建立乙份crash日誌儲存在裝置上。這份crash日誌記錄著應用程式崩潰時的資訊,通常包含著每個執行執行緒的棧呼叫資訊 低記憶體閃退日誌例外 方式1開發 測試階段裝置就在身邊,可以連線裝置,開啟xcode window devices view device log...
IOS崩潰日誌
1.普通崩潰日誌 參考 1 程序資訊 incident identifier 30e46451 53fd 4965 896a 457fc11ad05f 崩潰報告的唯一識別符號 是與裝置標識相對應的唯一鍵值。雖然它不是真正的裝置識別符號,但也是乙個非常有用的情報 如果你看到100個崩潰日誌的crash...