今天leader給了我好幾個bug讓我修,都是那種出現(xiàn)率不高的特別詭異的bug,后面幾個都是帶著EXC_BAD_ACCESS KERN_INVALID_ADDRESS這種log
總結(jié)一下,ARC環(huán)境下大概有幾種情況
1.最常見的 多線程讀寫問題,一個線程執(zhí)行讀操作時另外一個線程對其寫入了,將其修改,對象很有可能就被釋放了,導(dǎo)致實際上指向的是個僵尸對象,感覺這是最容易見到的,但也是最不容易找到,找到也不容易修改。一般通過(1)加鎖(2)修改業(yè)務(wù)邏輯,比如把這個對象的處理放在同一個隊列(3)放棄 因為很可能改這種東西會產(chǎn)生更大的問題,假如出現(xiàn)幾率低的話就不做更改
2.第三方庫內(nèi)的引用。很多第三方庫使用很老版本的代碼,可能會有這方面的問題,或者干脆就是MRC
3.assign 使用assign修飾對象就會導(dǎo)致這個對象被釋放的時候無法被控制,但現(xiàn)代人應(yīng)該都不會這樣寫代碼了吧= =
4.C。C相關(guān)代碼內(nèi)存alloc后是需要手動release,如果release后還對其進行調(diào)用自然會引發(fā)crash,這就是代碼質(zhì)量以及經(jīng)驗的問題了
如果還有請?zhí)嵝盐摇?/p>
僵尸對象 野指針
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Xcode中給當(dāng)前項目設(shè)置監(jiān)聽僵尸對象報的錯 Xcode中設(shè)置全局斷點,可以讓程序停留在報錯的那行代碼 杠杠fun...
- 僵尸對象: 已經(jīng)被銷毀的對象(xcode 中默認不實時檢查僵尸對象) 野指針: 指向僵尸對象(不可用的內(nèi)存)的指針...
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...