我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。
有人知道如何在Xcode 4中启用NSZombie吗?
我有一个没有错误跟踪就崩溃的应用程序。如果我调试,我可以看到正在发生的事情的一部分,但不能找出哪个对象正在“僵尸化”。
有人知道如何在Xcode 4中启用NSZombie吗?
当前回答
下面是一个视频,解释了如何使用Instruments和NSZombie来查找和修复iOS上的内存崩溃: http://www.markj.net/iphone-memory-debug-nszombie/
其他回答
进入产品-方案-编辑方案-参数-环境变量设置NSZombieEnabled = YES
下面是一个视频,解释了如何使用Instruments和NSZombie来查找和修复iOS上的内存崩溃: http://www.markj.net/iphone-memory-debug-nszombie/
我在排除EXC_BAD_ACCESS故障时遇到了同样的问题,并且很难找到Xcode 4.2 (iOS5 SDK的最新版本)的设置。苹果一直在移动东西,设置也不再是以前的样子了。
幸运的是,我找到了它,它适用于设备,而不仅仅是模拟器。你需要在Xcode中打开Product菜单,选择Edit scheme,然后选择Diagnostics选项卡。这里有“启用僵尸对象”。一旦选择和运行调试器将指向你的双释放对象!享受吧!
简而言之
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
要启用僵尸日志,双击Xcode项目可执行文件组中的可执行文件。此时,单击Arguments选项卡,在Variables to be set in the environment: section中,创建一个名为NSZombieEnabled的变量,并将其值设置为YES。
从Xcode 3.2.5和Snow Leopard (Mac OS X 10.6)开始,你可以通过僵尸工具运行你的代码:这允许你在时间轴上看到特定的对象及其保留计数。