NSZombieEnabled只能用于Objective-C代码吗?

问题描述:

在一个Objective-C项目中,如果我合并了一些C代码,环境变量NSZombieEnabled是否帮助我调试了我用C代码完成的意外解除分配的区域,还是只能用于Objective-C部分?NSZombieEnabled只能用于Objective-C代码吗?

+0

感谢您编辑语法和案例。我应该更加小心。 :) – huggie 2012-07-23 06:19:28

它只适用于Objective-C对象。这些物体不会死亡,而会变成僵尸,会试图向他们发送任何消息。由于普通内存不能接收消息,因此这种机制对此毫无意义。

您需要使用Valgrind或类似工具进行通用内存调试。

+0

我明白了。当我开始得到奇怪的结果时,我只是怀疑这一点。 – huggie 2012-07-23 06:23:24

+0

仪器在这种情况下是否也不起作用? – huggie 2012-08-21 10:12:35