[英]How do you enable NSZombie in Instruments of Xcode 4.1 under Lion?
[英]How to enable NSZombie in Xcode?
我有一个崩溃且没有错误跟踪的应用程序。 如果进行调试,我可以看到部分情况,但无法弄清楚哪个对象正在“僵尸”化。
有人知道如何在Xcode 4中启用NSZombie吗?
我在对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.