【问题标题】:Once I enable Zombies, how do I hunt them down?一旦我启用了僵尸,我该如何追捕它们?
【发布时间】:2010-08-22 17:21:32
【问题描述】:

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

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

如何找到 0x19f3b0 Zombie 的变量名或你有什么?

【问题讨论】:

  • 你不能用调试器检查那个内存地址里有什么吗?
  • 我不知道该怎么做。感谢您的建议。我再问一个问题。

标签: iphone objective-c memory-management


【解决方案1】:

运行 Allocations 工具,启用“NSZombie 检测”并打开“track release/retain”。然后在你运行的过程中,当遇到僵尸时,它会弹出一个警报,让你深入探索哪些代码释放并保留了原始对象。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 2013-12-05
      • 2011-04-29
      • 1970-01-01
      相关资源
      最近更新 更多