XCode调试技巧之EXC_BAD_AC
发布时间:2018-05-25 11:09:28
XCode调试窍门之EXC_BAD_ACCESS中BUG处理是这篇文章要介绍的内容,在iphone开发的时分EXC_BAD_ACCESS这个bug时不容易找到缘由的,在网上找到的3个关于这个疑问的办法,期望能够帮到你,我自个试了一下第一中办法,作用还不错
首先说一下 EXC_BAD_ACCESS 这个过错,能够这么说,90%的过错来历在于对一个现已开释的目标进行release操作。
1. 重写object的respondsToSelector办法,实际呈现EXEC_BAD_ACCESS前拜访的最终一个object
有时程序溃散底子不知过错发生在什么当地。比方程序呈现EXEC_BAD_ACCESS的时分,尽管大多数状况运用设定 NSZombieEnabled环境变量能够协助你找到疑问的地点,但少量状况下,即便设定了NSZombieEnabled环境变量,仍是不晓得程序崩 溃在什么当地。那么就需求运用下列代码进行协助了:
你需求在每个object的.m或许.mm文件中参加上面代码,并且在 other c flags中参加-D _FOR_DEBUG_(记住请只在Debug Configuration下参加此符号)。这样当你程序溃散时,Xcode的console上就会精确地记录了最终运转的object的办法。
2. 经过NSZombieEnabled
信任很多人都晓得经过NSZombies来协助调试呈现EXC_BAD_ACCESS的状况,但有时仍是找不到需求的信息,那么大概怎么办呢?
下面经过一个例子来阐明.下面是hello world的代码:
运转后呈现EXC_BAD_ACCESS过错.但没有其他任何提示,这时 候经过右击executables下的运用程序名,挑选get info后,在arguments下输入环境变量(NSZombieEnabled,MallocStackLogging)