Xcode调试技巧

首先说一下 EXC_BAD_ACCESS 这个错误,可以这么说,90%的错误来源在于对一个已经释放的对象进行release操作。 另外一种可能就是你调用了一个不存在的方法

重写object的respondsToSelector方法,现实出现EXEC_BAD_ACCESS前访问的最后一个object

有时程序崩溃根本不知错误发生在什么地方。比如程序出现EXEC_BAD_ACCESS的时候,虽然大部分情况使用设定 NSZombieEnabled环境变量可以帮助你找到问题的所在,但少数情况下,即使设定了NSZombieEnabled环境变量,还是不知道程序崩 溃在什么地方。那么就需要使用下列代码进行帮助了:

可以在UIView 和 UIViewController的类别里面重写这个方法。

#ifdef _FOR_DEBUG_ 
-(BOOL) respondsToSelector:(SEL)aSelector { 
    printf("SELECTOR: %s\n", [NSStringFromSelector(aSelector) UTF8String]); 
    return [super respondsToSelector:aSelector]; 

#endif 

你可能感兴趣的:(xcode)