NSZombie的替代品

用户名

我正在尝试使用NSZombie调试EXC_BAD_ACCESS崩溃。我的应用程序创建了许多大对象,并且启用了NSZombie并没有释放它们,导致应用程序在几秒钟内崩溃。这意味着在由于内存不足而导致应用崩溃之前,我什至无法引起EXC_BAD_ACCESS崩溃。

还有其他选择吗?我可以在特定文件而不是整个项目上启用NSZombie吗?我还能如何调试该崩溃(我知道它是由UIGestureRecognizer引起的,但是我经常使用它们,因此不会明显缩小问题的范围)。

谢谢。

编辑:感谢您的建议。我想我可能已经解决了问题,将在进行更多测试后再向您报告。

编辑2:我自己解决了该问题,但选择了答案,这似乎将是将来解决任何类似问题的好方法。

汤米

我所能想到的只是手动执行;创建一个包含一个对象类型的代理容器,id并指定该对象-forwardingTargetForSelector:以及使其响应-isKindOfClass:,等等。

对代理禁用ARC,并在代理期间保留其自身,initretainCount在指定转发目标时对其进行检查

如果计数为1,则引发异常或记录警告或其他内容。

让可疑类自行包装并返回代理作为其单元的最后一行。

为了获得可能的奖励积分,请[NSThread callStackSymbols]在代理单元期间将其存储在某个位置(可能在磁盘上),这样您至少可以找出在哪里创建了错误管理的对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章