3

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

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

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

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

4

1 回答 1

0

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

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

于 2013-07-28T05:43:51.273 回答