【问题标题】:Use Xcode Instruments to look at non-zombie object history at pointer使用 Xcode Instruments 在指针处查看非僵尸对象历史记录
【发布时间】:2013-01-03 00:55:25
【问题描述】:

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

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

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

使用NSKeyedUnarchiver 加载的对象似乎因解码时的过度释放问题而失败,而未以这种方式创建的对象则正常。

【问题讨论】:

  • 尝试使用日志概念

标签: ios debugging memory nskeyedarchiver xcode-instruments


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多