ios - 使用 Xcode Instruments 查看指针处的非僵尸对象历史记录

标签 ios debugging memory nskeyedarchiver xcode-instruments

我目前正在使用 Instruments 调试“发送到已释放对象的消息”错误。我能够通过“Zombie Messaged”对话框访问故障对象的历史记录。

我想在运行时找到一个类似的对象,它被正确分配/解除分配并且没有失败,并检查该对象的历史以比较调用树的样子。

有什么办法吗?我可以打印我想检查的对象的指针位置,但是我有什么方法可以使用指针位置信息访问 Instruments 中该对象的历史记录吗?

使用 NSKeyedUnarchiver 加载的对象似乎由于解码时的过度释放问题而失败,而不以这种方式创建的对象是可以的。

最佳答案

您可以使用 instrument 中的分配工具。在右上角搜索该对象的类名,同时运行分配工具。我经常使用它来跟踪何时分配和释放对象。

但要注意同时打开僵尸模板工具。您会在分配工具中注意到一些已解除分配的对象仍然显示为事件对象,因为这些对象变成了“僵尸”对象。希望对您有所帮助!

关于ios - 使用 Xcode Instruments 查看指针处的非僵尸对象历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131625/

相关文章:

ios - 在 NSAttributedString 上有多个具有不同属性的范围

qt - 调试到 Qt 源

javascript - VSCode 调试 Node.js,调试适配器中存在 ES6 未处理错误

linux - 在 Linux 中创建一个新信号

linux - 最大驻留集大小没有意义

multithreading - Delphi指针内存和释放

ios - 访问 NSArray/UITableView 中的第一个对象

iphone - iOS - plist 文件、nsuserdefaults 或文本数据文件

ios - 设置SIAlertView的宽度

swift - UserDefaults 的多个设置导致显示速度变慢