gpt4 book ai didi

ios - NSZombie 的替代品

转载 作者:可可西里 更新时间:2023-11-01 05:00:28 24 4
gpt4 key购买 nike

我正在尝试使用 NSZombie 调试 EXC_BAD_ACCESS 崩溃。尽管我的应用程序创建了许多大型对象,但启用 NSZombie 后,它们不会被释放,导致应用程序在几秒钟内崩溃。这意味着我什至无法在应用程序因内存不足而崩溃之前导致 EXC_BAD_ACCESS 崩溃。

有替代方案吗?我可以在特定文件而不是整个项目上启用 NSZombie 吗?我还能如何调试这个崩溃(我知道它是由 UIGestureRecognizer 引起的,但我经常使用它们,所以它不会显着缩小问题的范围)。

谢谢。

编辑:感谢您的建议。我想我可能已经解决了这个问题,并会在更多测试后报告。

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

最佳答案

我能想到的就是手动实现它;创建一个代理容器,其中包含 id 类型的对象并将其命名为 -forwardingTargetForSelector: 并让它响应 -isKindOfClass:

为代理禁用 ARC,让它在 init 期间保留自己,并在指定转发目标时检查自己的 retainCount

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

让可疑的类将自己包裹起来并返回一个代理作为它们单元的最后一行。

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

关于ios - NSZombie 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com