EXC_BAD_ACCESS的错误定位

EXC_BAD_ACCESS的错误定位  


1、iphone开发:EXC_BAD_ACCESS的错误导致crash,定位在main()函数中,通过输出日志来定位,但是耗时长。最好的方式是:在Arguments下输入环境变量(NSZombieEnabled, MallocStackLogging, MallocStackLoggingNoCompact),一旦出错就可以看到问题是"message sent to dealloced object",具体哪一句还不知道,需要在gdb上输入:shell malloc_history pid address。就可以准确定位了。                                        

2、更好地方法:#ifdef_FOR_DEBUG_ -(bool)respondsToSelector:(SEL)aSelector{printf("Selector:%s\n", [NSStringFromSelector(aSelector)UTF8String]); return [super repondsToSelector:aSelector]};#endif;需要在.m文件中加如上面的代码,并且在other c flags 中加入-D_FOR_DEBUG_

你可能感兴趣的:(EXC_BAD_ACCESS的错误定位)