Ric*_*Ric 4 xcode nszombie ios nszombieenabled
这仅适用于专门在Lion上运行的新Xcode 4.1.你如何在仪器中启用NSZombie?它不再位于启动配置下的(i)图标中的分配中,如Xcode 4.0中所示.也没有名为Zombies的图书馆条目.
当然问题是我不能回到Xcode 4.0,因为它拒绝在Lion下运行,所以我在泡菜!使用Lion的任何其他前沿开发人员,比我更有经验,可以帮助挖掘出来吗?谢谢.-Ric
我从Apple那里得到了关于我自己的问题的非常有用的答案.这是逐字的 -
ME:是否有关于如何使用Xcode 4.1.1和/或仪器在设备上进行测试,找到那些难以解除分配的对象的更新?
APPLE:首先,上面[苹果论坛]中显示的黑客已被操作系统的内部更改废弃,即僵尸设置现在由CF完成.您可以使用下面显示的代码强制启用僵尸:
extern void _CFEnableZombies(void);
int main(int argc,char**argv){_ CBFEableZombies();
... rest of your main ...
Run Code Online (Sandbox Code Playgroud)
}
重要提示:_CFEnableZombies函数是私有的,因此您甚至不考虑将此代码放入生产应用程序中.但是,这不是秘密; 您可以通过查看Lion的Darwin开源来了解它是如何实现的.
http://www.opensource.apple.com/source/CF/CF-635/CFRuntime.c
如果这样做,当您向僵尸发送消息时,无论您如何运行它,您的应用都将停止(带有断点异常).因此,您可以使用Allocations仪器在Instruments中运行它,并获得僵尸检测和分配跟踪.
请注意,当收到僵尸消息时,系统会打印如下内容:
*** - []:发送到解除分配实例的消息"
这不会出现在仪器控制台区域; 你必须使用Xcode Organizer(或iPCU)来查看它.
分享和享受
奎因"爱斯基摩人!" Apple Developer Relations,开发人员技术支持,核心操作系统/硬件
我:希望在这种情况下对你们有些人来说是有用的信息.
| 归档时间: |
|
| 查看次数: |
3229 次 |
| 最近记录: |