iOS BUG日志(1)

libc++abi.dylib: terminate_handler unexpectedly threw an exception錯誤小結

前言

我們在運行xcode工程時左敌,有時候會遇到”libc++abi.dylib: terminate_handler unexpectedly threw an exception”錯誤扩灯,app莫名其妙就crash掉了,在控制臺輸入bt命令闹伪,查看調用堆棧亡电,結果也是一頭霧水:

分析

現(xiàn)在唯一的信息點是libc++abi.dylib届巩,這個庫到底是做什么的?從后綴看份乒,是一個動態(tài)庫恕汇,那么會不會是因為發(fā)生了一些動態(tài)錯誤?而按經(jīng)驗來看或辖,一般的動態(tài)錯誤基本是因為動態(tài)類型錯誤引起瘾英,在object-c語言中,會發(fā)生動態(tài)類型錯誤的可能基本存在于不可變類型與可變類型之間的轉換颂暇,那么我們的查錯范圍將優(yōu)先限制在不可變類型與可變類型轉換上缺谴,是否我們對一個不可變類型進行了修改操作?當然耳鸯,編譯器沒有那么傻湿蛔,如果直接對一個不可變類型進行修改操作膀曾,是會直接報錯的,那么就剩下另一種可能阳啥,程序將一個不可變類型賦值給可變類型添谊,然后對可變類型進行了修改操作,這樣可以通過靜態(tài)檢查察迟,但是動態(tài)運行的時候斩狱,就會發(fā)生類型錯誤≡浚基于以上分析所踊,我們可以跟蹤斷點,會發(fā)現(xiàn)程序在對mutable對象進行add概荷、set等操作時掛掉秕岛,而這個對象實際上賦值的是一個不可變對象。常見的情況是把一個NSArray對象賦值給一個NSMutableArray對象乍赫,然后進行了delete瓣蛀、add等修改操作陆蟆,或者把一個NSDictionary對象賦值給一個NSMutableDictionary對象雷厂,然后進行了set等操作。

解決

解決辦法很簡單叠殷,賦值的時候進行類型轉換:

//mutableArr:可變數(shù)組 arr:不可變數(shù)組

//mutableDic:可變字典 dic:不可變字典

//賦值時改鲫,需要進行可變類型轉換

mutableArr = [NSMutableArray arrayWithArray:arr];

mutableDic = [NSMutableDictionary dictionaryWithDictionary:dic];



二、還有一種情況林束,就是數(shù)組越界取值像棘,也有可能爆出這個動態(tài)庫的bug。

這個bug處理辦法就是檢查斷點所在的數(shù)組或者可變數(shù)組是不是為空壶冒,然后確保取值的時候數(shù)組不是空缕题,或者你要取值的下標小于或等于數(shù)組.count。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末胖腾,一起剝皮案震驚了整個濱河市烟零,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咸作,老刑警劉巖锨阿,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異记罚,居然都是意外死亡墅诡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門桐智,熙熙樓的掌柜王于貴愁眉苦臉地迎上來末早,“玉大人烟馅,你說我怎么就攤上這事∪涣祝” “怎么了焙糟?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長样屠。 經(jīng)常有香客問我穿撮,道長,這世上最難降的妖魔是什么痪欲? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任悦穿,我火速辦了婚禮,結果婚禮上业踢,老公的妹妹穿的比我還像新娘栗柒。我一直安慰自己,他們只是感情好知举,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布瞬沦。 她就那樣靜靜地躺著,像睡著了一般雇锡。 火紅的嫁衣襯著肌膚如雪逛钻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天锰提,我揣著相機與錄音曙痘,去河邊找鬼。 笑死立肘,一個胖子當著我的面吹牛边坤,可吹牛的內容都是我干的。 我是一名探鬼主播谅年,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼茧痒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了融蹂?” 一聲冷哼從身側響起旺订,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎殿较,沒想到半個月后耸峭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡淋纲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年劳闹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡本涕,死狀恐怖业汰,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情菩颖,我是刑警寧澤样漆,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站晦闰,受9級特大地震影響放祟,放射性物質發(fā)生泄漏。R本人自食惡果不足惜呻右,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一跪妥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧声滥,春花似錦眉撵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至憾赁,卻和暖如春污朽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缠沈。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工膘壶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留错蝴,地道東北人洲愤。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像顷锰,于是被迫代替她去往敵國和親柬赐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內容