NSZombieEnabled не выключится - PullRequest
       40

NSZombieEnabled не выключится

0 голосов
/ 20 октября 2010

В моих аргументах NSZombieEnabled имеет значение NO.

Я проверяю, включена ли она:

if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled")) 
    {
        NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
    }

Мой отладчик говорит, что он все еще включен.Почему?

Ответы [ 3 ]

4 голосов
/ 20 октября 2010

попробуй снять галочку.Если перед ним нет галочки, его не следует передавать приложению.

Должно быть отключено, когда вы установите значение NO, но getenv ("NSZombieEnabled") вернет "NO".Что не является логическим НЕТ, а cstring "НЕТ".Так что условие if все равно будет истинным.

1 голос
/ 23 сентября 2011

Я знаю, что этот вопрос старый, но для справки, вы можете использовать эту технику для многих флагов отладки:

extern BOOL NSZombieEnabled;
if (NSZombieEnabled)
    ...

Если это ссылки, это будет работать.

0 голосов
/ 12 августа 2011

Вот предложение, которое проверяет наличие переменной env и правильное значение.

char* szZombie = getenv("NSZombieEnabled");
if (szZombie && 0 == strcasecmp(szZombie, "YES"))
{
    NSLog(@"NSZombieEnabled enabled!");        
}
...