iOS崩潰及異常的問(wèn)題的一點(diǎn)心得

在日常的項(xiàng)目開發(fā)中,難免遇到崩潰和異常,在這里我簡(jiǎn)單的說(shuō)一些自己處理的心得

1、當(dāng)測(cè)試、產(chǎn)品、用戶或者其他人告訴你程序哪里有問(wèn)題時(shí),我們不要輕易的否定說(shuō)這個(gè)肯定沒(méi)問(wèn)題或者是誰(shuí)的問(wèn)題(最多的是推給后臺(tái)或網(wǎng)絡(luò))。首先我覺(jué)得應(yīng)當(dāng)回答:“我知道了,我這邊看一下,定位一下問(wèn)題”,作為一個(gè)開發(fā)者,我們應(yīng)該有一個(gè)嚴(yán)謹(jǐn)?shù)膽B(tài)度,不能輕易的、草率的下結(jié)論,這很有可能會(huì)給別人一種不靠譜不負(fù)責(zé)任的印象。其次,我們應(yīng)當(dāng)仔細(xì)的分析定位問(wèn)題,經(jīng)過(guò)自己的分析以后再告訴他人到底是程序的問(wèn)題還是后臺(tái)或者其他的什么原因(其實(shí)大部分還是自己的程序的問(wèn)題),以及處理情況。

2、當(dāng)在程序中遇到崩潰或異常時(shí),我的一些處理方法

(1)靠直覺(jué)或者說(shuō)靠猜,當(dāng)然這個(gè)也不是瞎猜,是建立在你真正了解了代碼的邏輯在根據(jù)自己的經(jīng)驗(yàn)來(lái)判斷的。通過(guò)這種方法,你可以快速縮小問(wèn)題的范圍,然后斷點(diǎn)調(diào)試,就可以準(zhǔn)確快速的定位問(wèn)題。

(2)善于打斷點(diǎn),斷點(diǎn)調(diào)試應(yīng)該是程序員調(diào)試的基本功也是最有用的一個(gè),基本可以定位90%的問(wèn)題。多打斷點(diǎn),一步步的分析,輸出每個(gè)變量元素的值,相信你可以很準(zhǔn)確的找到問(wèn)題所在,不要怕麻煩。?

? ? 有時(shí)候模擬器調(diào)試,可能很難判斷是那里出了問(wèn)題,這個(gè)時(shí)候可以打全局?jǐn)帱c(diǎn)來(lái)捕獲出問(wèn)題的地方。

如何打全局?jǐn)帱c(diǎn)

(3)學(xué)會(huì)看崩潰的堆棧

堆棧的查看

看崩潰的堆棧是一個(gè)很有用的定位崩潰的方法,因?yàn)橛袝r(shí)候xcode捕捉不到崩潰的斷點(diǎn),即使打了全局?jǐn)帱c(diǎn)。這個(gè)時(shí)候看崩潰的堆棧就顯得很有用,尤其崩潰是在使用一些第三方庫(kù)的時(shí)候,你可以清楚的看到崩潰是發(fā)生在哪一條線程,崩潰在哪個(gè)方法里面,以及崩潰前執(zhí)行的方法(有時(shí)候崩潰并不是最后一個(gè)方法造成的,可能是前面的方法穿了錯(cuò)誤的參數(shù)所造成的),這時(shí)候就可以聯(lián)系崩潰前后的方法來(lái)定位崩潰的原因

(4)在調(diào)試期間多打印NSLog,多輸出當(dāng)前的變量的值,也可以很快的找到問(wèn)題所在

關(guān)于內(nèi)存泄露,控制器釋放不及時(shí)等這些異常,網(wǎng)上已經(jīng)有很多相關(guān)的文章了,我就不獻(xiàn)丑了。以上就是我平時(shí)遇到崩潰或異常時(shí)處理的一些方法,希望對(duì)你有些幫助,如果有更多好的方法,請(qǐng)?jiān)谙旅媪粞裕蠹叶喽嘟涣鳎黄鹛岣?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,598評(píng)論 25 708
  • LLVM簡(jiǎn)介 XCode4.0以后,LLVM是構(gòu)架編譯器(compiler)的框架系統(tǒng),以C++編寫而成,用于優(yōu)化...
    苦工閱讀 9,813評(píng)論 1 16
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評(píng)論 19 139
  • 這篇文章的作者是iOS Tutorial Team 的成員Matthijs Hollemans,他是一個(gè)經(jīng)驗(yàn)豐富的...
    南京在下大暴雨閱讀 1,521評(píng)論 0 3
  • 不久前,讀了一本書,書名《人類簡(jiǎn)史》,讀完后,開始思量人類的命運(yùn)、人生的意義和快樂(lè)的本質(zhì)。 《人類簡(jiǎn)史》這本書是以...
    樂(lè)學(xué)共行閱讀 1,246評(píng)論 10 3