ios - 在 xcode 中跟踪僵尸对象

标签 ios objective-c iphone xcode cocoa-touch

我在我的 IOS 应用程序中收到此错误 exc_bad_access code=1 address= xcode,所以我尝试像这样使用僵尸工具:

Product->Profile->Zombies then I click on start recording (the red dot)

此外,我还检查了 Enable Zombie Objects

Product->Scheme->Edit scheme->Run->Diagnostics

问题是当我使用僵尸模式并尝试模拟错误时,错误没有被模拟,也没有被检测到。当我在正常模式下运行我的项目时,调试时出现错误并且应用程序崩溃。

那么我在这里错过了什么?
请注意,这是我第一次使用僵尸工具。谢谢。

更新 错误 : enter image description here

最佳答案

这里 NSZombie 的问题在于它使对象保持事件状态而不是释放它们,而是将它们变成特殊对象,一旦您尝试调用它们的方法就会提示。

但是,如果您有一些代码,例如只是尝试访问一个实例变量(不对该对象调用方法)的代码块,现在这将成功,因为该对象的内存区域现在​​仍然是可用。

如果您还没有这样做,只需尝试在没有 NSZombie 的普通调试器中运行您的代码,因为它应该会告诉您堆栈跟踪中崩溃发生的位置。

关于ios - 在 xcode 中跟踪僵尸对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32252477/

相关文章:

objective-c - 核心数据和 iTunes 文件共享 - 在应用程序更新时移动/隐藏 .sqlite 文件?

ios - 删除记录时出错,由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException'

iphone - 在 iPhone 应用程序中选择整数的控件/方法是什么?

ios - 可以检测 iOS 设备生成的后台信标源

ios - 丰富的本地通知

objective-c - respondsToSelector - 不工作

ios - 在 UICollectionView 中检测页面变化

iphone - 为 UIImageView 截屏

ios - 如何提取文本中的电子邮件/邮箱字符串列表或测试字符串是否为正确的电子邮件地址?

ios - 设置 CMSampleBuffer 样本附件(Swift)