2009-12-19 1 views
0

У меня возникли проблемы с памятью (исключая плохой доступ) в Objective-C, XCode, для iPhone, поэтому я немного искал и нашел о (удивительном) NSZombieEnabled. Каждый Outhere просто объяснить, как круто это ... но она не работает для меня:/GDB умирает из-за NSZombieEnabled

Я последовал следующий «учебник»: http://www.cocoadev.com/index.pl?DebuggingAutorelease

  • я дважды нажал на исполняемый файл под исполняемый (левая панель), и я добавил NSZombieEnabled = YES к переменным окружения
  • Я также добавил множество других опций (например, историю malloc, некоторые пользовательские ~/.gdbinit, которые я нашел в Интернете и т. д.), но это не так, t решить проблему

Итак, в основном, когда я запускаю (в режиме отладки) GDB sais

«Неопределенная команда:« NSZombieEnabled ». Попробуйте «помочь».

И он в основном останавливается (в строке состояния он говорит - ошибка в GDB - завершение).

ответ

2

Проблема, скорее всего, в вашем файле ~/.gdbinit в том, что предоставленная вами ошибка указывает, что gdb пытался - и не смог - проанализировать команду.

.gdbinit В, команда должна выглядеть следующим образом:

set env NSZombieEnabled=YES 

Чтобы дальше, вы должны были бы отказаться от вашего .gdbinit в вопросе. Однако редко бывает необходимо использовать файл .gdbinit (для всех, кроме расширенной отладки). Я предлагаю удалить его.

Для autorelease отладки используйте инструменты ....

+0

http://www.cocoadev.com/index.pl?NSZombieEnabled Я получил .gdbinit с этого сайта. Как я уже сказал, единственное, что действительно вызывает крах gdb, - это установить NSZombieEnabled в переменные среды через xcode. Если я удалю тик, все будет хорошо (за исключением того, что у меня нет NSZombieEnabled :)). Я добавил это в свой .gdbinit после того, как он уже рушился. –

+0

OK - тогда как вы настраиваете переменную окружения в Xcode? Возможно, вы сможете выбрать строку в редакторе переменных среды и скопировать/вставить. – bbum

+0

Проблема была связана с тем, что ошибка была в библиотеке, а не непосредственно в проекте, и старые версии xcode/ios имеют проблемы с этим. –