NSZombieEnabled without debugger

问题描述:

我们在我们的iOS应用程序中有一个EXC_BAD_ACCESS崩溃,但只有在连接某个外部附件时才会发生。不幸的是,这个附件不允许调试(没有传递连接)。是否有可能为应用程序永久启用NSZombieEnabled,因此即使应用程序直接在设备上启动,它也是活动的?NSZombieEnabled without debugger

+0

如果你只是不使用调试器,但仍然运行在启用僵尸的XCode上?您可以在“Edit Scheme ...”区域关闭调试器。 – borrrden 2012-07-24 15:08:24

+0

如果我从XCode运行它,它不会发生。它在模拟器上绝不会发生,如果配件断开连接,则不会在设备上发生。 – 2012-07-24 15:12:50

+0

哦,我明白你的意思了(以为设备是无线连接的)......在这种情况下,请使用C代码'setenv(“NSZombieEnabled”,“YES”,1);'作为main '函数(在main.m中)。 – borrrden 2012-07-24 15:19:47

NSZombieEnabled环境变量用于设置相应的NSZombieEnabled全局变量,在Foundation/NSDebug.h中声明。

的环境变量读得很早,main()之前,但你可以调用UIApplicationMain()(或NSApplicationMain())之前设置NSZombieEnabled全局YESmain()功能。