繁体   English   中英

如何在Xcode中启用NSZombie?

[英]How to enable NSZombie in Xcode?

我有一个崩溃且没有错误跟踪的应用程序。 如果进行调试,我可以看到部分情况,但无法弄清楚哪个对象正在“僵尸”化。

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

现在,环境变量已成为“方案”的一部分。

要编辑方案并打开僵尸,请执行以下操作:

  • 在“产品”菜单中,选择“编辑方案”。

  • 转到左侧面板中的“ Run Foo.app”阶段,然后转到右侧的“ Arguments”标签。

  • NSZombieEnabled添加到“环境变量”部分,并将其值设置为YES ,就像在Xcode 3中一样。


在Xcode 4.1及更高版本中 ,“运行”阶段的“诊断”选项卡上还有一个复选框,用于“启用僵尸对象”。


使用Xcode 6.4:

屏幕截图

我在对EXC_BAD_ACCESS进行故障排除时遇到了相同的问题,并且很难用Xcode 4.2(iOS5 SDK附带的最新代码)来查找设置。 Apple不断前进,设置不再像以前那样。

幸运的是,我已经找到了它并且它适用于设备,而不仅仅是Simulator。 您需要在Xcode中打开“产品”菜单,选择“编辑方案”,然后选择“诊断”选项卡。 那里有“启用僵尸对象”。 选择并在调试器中运行后,您将指向双重释放的对象! 请享用!

简而言之

Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects

产品>配置文件将启动Instruments,然后您应该有一个名为“ Zombies”的“跟踪模板”。 但是,仅当当前构建目标是模拟器时,此跟踪模板才可用-如果将目标设置为iOS设备,则该跟踪模板将不可用。

还要注意的另一件事是,乐器库中没有实际的僵尸乐器。 僵尸跟踪模板实际上由具有“启用NSZombie检测”启动配置集的“分配”工具组成。

这是对你的可执行文件,设置环境变量的简单的事情(NSZombieEnabled = YES)然后运行/调试您的应用程序作为normal.If你消息的僵尸,你的应用程序会崩溃/休息,以调试器和NSLog为你的消息。

有关更多信息,请查看此CocoaDev页面: http : //www.cocoadev.com/index.pl? NSZombieEnabled

此外,随着10.6的发布以及Xcode和Instruments的下一版本,此过程将变得更加容易。 只是说说而已。 =)

产品>配置文件将弹出仪器。 从面板中选择僵尸并发疯。

转到产品-方案-编辑方案-参数-环境变量设置NSZombieEnabled = YES

在此处输入图片说明

在此处输入图片说明

在xcode 4.2中

转到产品->编辑方案->单击运行yourappname.app->对角线->启用僵尸对象。

这是一个视频和说明,说明如何使用Instruments和NSZombie在iOS上查找和修复内存崩溃: http : //www.markj.net/iphone-memory-debug-nszombie/

从Xcode 3.2.5和Snow Leopard(Mac OS X 10.6)开始,您可以通过Zombies工具运行代码: Run > Run with Performance Tool > Zombies 这样,您就可以在时间轴上查看特定的对象及其保留计数。

在Xcode 4.5.2中,转到“产品”->“编辑方案”->,然后在“诊断”选项卡下选中“ Objective C”和“ Enable Zombie Objects”之间的复选框,然后单击“确定”。

要启用Zombie日志记录,请双击Xcode项目的可执行文件组中的可执行文件。 此时,单击Arguments选项卡,然后在Variables to be set in the environment:部分中Variables to be set in the environment:Variables to be set in the environment: ,创建一个名为NSZombieEnabled的变量,并将其值设置为YES

在XCode 4.0中:要在Instruments中检测NSZombie,请选择Simulator作为目标(无法在设备上检测NSZomboe)。 运行仪器(CMD + I)并选择“僵尸”跟踪模板。 请享用。

在ur XCODE(4.3)中,旁边的播放按钮:)(运行)

选择:编辑方案

方案管理窗口将打开

单击参数选项卡

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

(2-环境变量)内部的名称:NSZombieEnabled
值:是

完成了...

在可执行文件的首选项中,添加环境变量NSZombieEnabled并将其值设置为YES

NSZombieEnabled用于调试BAD_ACCESS,

从Xcode的方案表中启用NSZombiesEnabled环境变量。

Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box

视频将帮助您了解我要说的话。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM