我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。
有人知道如何在Xcode 4中启用NSZombie吗?
我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。
有人知道如何在Xcode 4中启用NSZombie吗?
当前回答
在XCODE(4.3)下一个播放按钮:)(运行)
选择:编辑方案
系统弹出方案管理窗口
单击Arguments选项卡
你应该看到:1-启动时传递的参数 2-环境变量
在(2-环境变量)的位置 名称:NSZombieEnabled 价值:是的
这就完成了....
其他回答
这是一个简单的问题,在你的可执行文件(NSZombieEnabled = YES)上设置一个环境变量,然后正常运行/调试你的应用。如果你给一个僵尸发送消息,你的应用程序将崩溃/中断到调试器和NSLog消息给你。
欲了解更多信息,请访问CocoaDev页面:http://www.cocoadev.com/index.pl?NSZombieEnabled
而且,随着10.6的发布以及Xcode和Instruments的下一个版本,这个过程将变得更加容易。只是说”。=)
环境变量现在是“方案”的一部分。
编辑方案并打开僵尸模式:
在“产品”菜单中选择“方案”>“编辑方案…”。 去“Run Foo”。app”阶段在左边面板,而“Arguments”选项卡在右边。 将NSZombieEnabled添加到“环境变量”部分,并将值设置为YES,就像你在Xcode 3中所做的那样。
在Xcode 4.1及以上版本中,在“Run”阶段的“Diagnostics”选项卡上也有一个复选框来“Enable Zombie Objects”。
Xcode 6.4:
在XCode 4.0:在仪器中检测NSZombie,选择模拟器作为你的目标(设备上不能检测NSZomboe)。运行Instruments (CMD+I)并选择“Zombies”跟踪模板。享受。
要启用僵尸日志,双击Xcode项目可执行文件组中的可执行文件。此时,单击Arguments选项卡,在Variables to be set in the environment: section中,创建一个名为NSZombieEnabled的变量,并将其值设置为YES。
在Xcode 4.5.2 goto Product -> Edit Scheme ->和在Diagnostics选项卡下选中Objective C和Enable Zombie Objects之间的复选框,然后单击OK