總結(jié)了iOS常用的一些調(diào)試技巧
1.報(bào)錯(cuò)信息下面的調(diào)用堆棧內(nèi)容,通過(guò)調(diào)動(dòng)堆棧中的信息查找對(duì)應(yīng)的出錯(cuò)位置
在真機(jī)測(cè)試的時(shí)候不會(huì)顯示調(diào)用堆棧的內(nèi)容如下圖
2.程序上線(xiàn)后如何搜集錯(cuò)誤信息?
推薦一個(gè)騰訊的崩潰分析框架: Bugly (友盟和國(guó)外的一些做錯(cuò)誤收集的得三方框架也有很多,目前Bugly使用最方便)
登錄Bugly官方網(wǎng)站查看相關(guān)文檔:先Pod進(jìn)去該框架(在創(chuàng)建白工程的時(shí)候想不起來(lái)在終端輸入install --no-repo-update的時(shí)候可以輸入install --help下面會(huì)有一個(gè)幫助信息出來(lái)里面有install
--no-repo-update這條命令行),然后手動(dòng)集成如下圖
注意在APPDelegate中填入自己創(chuàng)建的應(yīng)用AppId;
完成以上步驟即可.錯(cuò)誤分析如下圖(注意:一般在Xcode中運(yùn)行代碼的時(shí)候會(huì)崩潰在main函數(shù)中,點(diǎn)擊真機(jī)中的應(yīng)用即可查看崩潰信息,如果不顯示,多點(diǎn)擊多刷新幾次)
3.工作中NSLog的處理
(1).創(chuàng)建PCH(設(shè)置pch,在Build Setting中搜索prefix header,填寫(xiě)pch文件名,如下圖)
(2).在pch中進(jìn)行NSLog的宏替換(調(diào)試運(yùn)行的時(shí)候顯示,在上線(xiàn)的時(shí)候不顯示)
也可以直接復(fù)制粘貼下面的代碼(調(diào)試運(yùn)行時(shí)顯示具體哪行):
#ifdef __OBJC__
#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif
#endif