exited abnormally with signal 11: Segmentation fault 的相关处理

前一阵子遇到一个问题,程序打包后,在某个界面总是崩溃,device log只打印了exited abnormally with signal 11: Segmentation fault


网上找了下相关信息,发现这个错误大多是跟内存操作相关,可是我们debug调试的时候明明没问题的呀?


于是用release证书调试,果然程序在那个界面发生了崩溃,检查原因,原来某同事写的一个成员变量的property属性写成了assign,而这个属性又是当前view的一个子view,所以生成后就立马被释放了(我们这个项目是在ARC下),而assign实际上又是unsafe_unretain的,即变成了一个野指针,在当前view添加字view的时候,程序必然会崩溃。后来问同事为什么那么写,同事说他自己都不知道,大概是加班太多加晕了吧。。。


debug和release证书打包的程序很有肯能不一样,因为在编译的时候,xcode中他们的默认编译属性还有其他一些属性都有所不同,所以发布前一定要让测试用release证书测试,debug版本的程序可能不会那么严格

 

posted @ 2013-08-10 00:13  坚固66  阅读(605)  评论(0编辑  收藏  举报