当前位置: 代码迷 >> 综合 >> EXC_BAD_ACCESS(内存过度释放问题)
  详细解决方案

EXC_BAD_ACCESS(内存过度释放问题)

热度:7   发布时间:2023-12-15 01:40:35.0

http://www.jianshu.com/p/9c052c84b5a1

如何快速找到问题出在哪里?下面介绍几种方法:

一:在xcode中Run,Stop 右边也就是选择设备的地方左边找到

Scheme >Edit Scheme>Arguments>Environment Variables下面添加

1. NSZombieEnabled                       YES

2. MallocStackLoggingNoCompact   YES

3. MallocStackLogging                      YES

第一項 让系统把错误地址打印出来

第二項 可让xcode记录每个地址alloc的历史,这样我们就可以用命令把这个地址还原出来

第三項 可开放MallocStack,就知道记忆體在程式进行中被配置的历史

2.在.m或者.mm文件中  直接添加打印最后日志文件 代码如下:

#ifdef _FOR_DEBUG_

- (BOOL)respondsToSelector:(SEL)rtSelector

{

NSString *className = NSStringFromClass([self class]) ;

NSLog(@"%@ --> RTSelector: %s",className,[NSStringFromSelector(rtSelector)UTF8String]);

return [super respondsToSelector:rtSelector];

}

#endif

3.找到模糊的地方, 断点调试, 或者打印标识 从大范围到小范围,