pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

iOS內(nèi)存錯誤EXC_BAD_ACCESS的解決方法

iOS開發(fā),最郁悶的莫過于程序毫無征兆地就崩潰了,用bt命令打出調(diào)用棧,給出的是一堆系統(tǒng)EXC_BAD_ACCESS的信息,根本沒辦法定位問題出現(xiàn)在哪里

iOS開發(fā),最郁悶的莫過于程序毫無征兆地就崩潰了,用bt命令打出調(diào)用棧,給出的是一堆系統(tǒng)EXC_BAD_ACCESS的信息,根本沒辦法定位問題出現(xiàn)在哪里。 首先說一下 EXC_BAD_ACCESS 這個錯誤,可以這么說,90%的錯誤來源在于對一個已經(jīng)釋放的對象進行release操作。舉一個簡單的例子來說明吧,首先看一段Java代碼:

復制代碼 代碼如下:

public class Test{
public static void main(String[] args){
String s = "This is a test string";
s = s.substring(s.indexOf("a"),(s.length()));
System.out.println(s);

}
}


通常這樣的崩潰出現(xiàn),原因一般就是:調(diào)用了已經(jīng)釋放的內(nèi)存空間,或者說重復釋放了某個地址空間。而怎樣定位到這個地址呢,可以通過編輯xcode的scheme,添加如下標記位,讓系統(tǒng)把錯誤地址打印出來,如圖:

(通過Product->Scheme->Edit Scheme進入下面編輯頁面,選中Arguments tab,增加標計位NSZombieEnabled設(shè)為YES)

這樣,但崩潰出現(xiàn),系統(tǒng)會出現(xiàn)以下提示信息:

2013-06-23 00:45:20.479 *** -[__NSArrayM addObject:]: message sent to deallocated instance 0x7179910

可見崩潰原因是內(nèi)存地址0x7179910被重復釋放了。

Objective-C 這段代碼有三個致命問題:1、內(nèi)存泄露;2、錯誤釋放;3、造成 EXC_BAD_ACCESS 錯誤。

如果崩潰是發(fā)生在當前調(diào)用棧,通過上面的做法,系統(tǒng)就會把崩潰原因定位到具體代碼中。但是,如果崩潰不在當前調(diào)用棧,系統(tǒng)就僅僅只能把崩潰地址告訴我們,而沒辦法定位到具體代碼,這樣我們也沒法去修改錯誤。這時就可以修改scheme,讓xcode記錄每個地址alloc的歷史,這樣我們就可以用命令把這個地址還原出來。如圖:(跟設(shè)置NSZombieEnabled一樣,添加MallocStackLoggingNoCompact,并且設(shè)置為YES)

這樣,當出現(xiàn)崩潰原因是message sent to deallocated instance 0x7179910,我們可以使用以下命令,把內(nèi)存地址還原:

info malloc-history 0x7179910

如圖,這個命令能具體把這個地址在哪一行代碼生成還原出來。

(需要注意的是,因為這個命令只支持gdb,所以必須把控制臺的輸出改成gdb,并且有點遺憾的是,只支持模擬器,不支持真機調(diào)試)

(同樣是通過Product->Scheme->Edit Scheme進入上面編輯頁面,選中Info tab)

這樣,好好檢查一下那一行的代碼,應該就很容易找出問題所在了。

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

這篇文章主要介紹了ios實現(xiàn)文件對比的方法,主要是用到了filemanager,有需要的小伙伴可以參考下。
這篇文章主要給大家匯總了一下ios下移動文件方法,從簡單到復雜,十分的實用,有需要的小伙伴可以參考下。
本文給大家總結(jié)了幾則在IOS系統(tǒng)下刪除文件的代碼,十分的實用,有需要的小伙伴可以參考下。
本文給大家分享的是IOS開發(fā)中遇到的一個手風琴特效無法正常工作的問題的解決方法,經(jīng)過度娘了很久才找到解決方法,這里推薦給大家,有需要的小伙伴可以參考下。
這篇文章主要介紹了iOS、Mac OS X系統(tǒng)中編程實現(xiàn)漢字轉(zhuǎn)拼音的方法(超級簡單),本文講解的方法不僅支持中文,還支持日文、韓文等,需要的朋友可以參考下
這篇文章主要分享了iOS7 毛玻璃特效代碼,非常的實用,做IOS開發(fā)的童鞋們不要錯過了
主站蜘蛛池模板: 河南15年专业网站建设制作设计,做网站就找郑州启凡网络公司 | Duoguan 夺冠集团| 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 首页_中夏易经起名网| 压力变送器-上海武锐自动化设备有限公司| 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 筒瓦厂家-仿古瓦-寺庙-古建琉璃瓦-宜兴市古典园林建筑陶瓷厂有限公司 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 玻璃瓶厂家_酱菜瓶厂家_饮料瓶厂家_酒瓶厂家_玻璃杯厂家_徐州东明玻璃制品有限公司 | 华东师范大学在职研究生招生网_在职研究生招生联展网 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 一航网络-软件测评官网| 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司 | 酒店品牌设计-酒店vi设计-酒店标识设计【国际级】VI策划公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 菏泽知彼网络科技有限公司| 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 |