我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。

有人知道如何在Xcode 4中启用NSZombie吗?


当前回答

环境变量现在是“方案”的一部分。

编辑方案并打开僵尸模式:

在“产品”菜单中选择“方案”>“编辑方案…”。 去“Run Foo”。app”阶段在左边面板,而“Arguments”选项卡在右边。 将NSZombieEnabled添加到“环境变量”部分,并将值设置为YES,就像你在Xcode 3中所做的那样。


在Xcode 4.1及以上版本中,在“Run”阶段的“Diagnostics”选项卡上也有一个复选框来“Enable Zombie Objects”。


Xcode 6.4:

其他回答

环境变量现在是“方案”的一部分。

编辑方案并打开僵尸模式:

在“产品”菜单中选择“方案”>“编辑方案…”。 去“Run Foo”。app”阶段在左边面板,而“Arguments”选项卡在右边。 将NSZombieEnabled添加到“环境变量”部分,并将值设置为YES,就像你在Xcode 3中所做的那样。


在Xcode 4.1及以上版本中,在“Run”阶段的“Diagnostics”选项卡上也有一个复选框来“Enable Zombie Objects”。


Xcode 6.4:

NSZombieEnabled用于调试BAD_ACCESS,

在Xcode的scheme表中启用NSZombiesEnabled环境变量。

单击“产品”⇒编辑方案以打开工作表并设置“启用僵尸对象”复选框

这个视频将帮助你理解我想说的。

在XCode 4.0:在仪器中检测NSZombie,选择模拟器作为你的目标(设备上不能检测NSZomboe)。运行Instruments (CMD+I)并选择“Zombies”跟踪模板。享受。

在XCODE(4.3)下一个播放按钮:)(运行)

选择:编辑方案

系统弹出方案管理窗口

单击Arguments选项卡

你应该看到:1-启动时传递的参数 2-环境变量

在(2-环境变量)的位置 名称:NSZombieEnabled 价值:是的

这就完成了....

Product > Profile将弹出Instruments。从面板中选择僵尸,然后发疯。