一旦我启用Zombies,我该如何追捕它们?

时间:2010-08-22 17:21:32

标签: iphone objective-c memory-management

继续一些helpful StackOverflow debugging,我需要追踪一个僵尸:

2010-08-22 10:18:51.111 AppName[106:307] *** -[CFString release]: message sent to deallocated instance 0x19f3b0

如何找到0x19f3b0 Zombie的变量名称或者什么?

2 个答案:

答案 0 :(得分:6)

运行Allocations仪器,启用“NSZombie Detection”并打开“track release / retain”。然后在您运行时,遇到僵尸时,它会弹出一个警报,让您深入探索发布的代码并保留原始对象。

答案 1 :(得分:1)

通常我这样做的方法是在Object allocations工具工具中查找内存参考。这很乏味,但您通常可以将其缩小到几种数据类型,其中通常只有一种数据类型在您的上下文中有意义。

当然,如果我无法从调试器中获得好的信息,我只会这样做。