Можно ли настроить XCode для подсчета ссылок для меня? - PullRequest
2 голосов
/ 21 апреля 2010

Хотелось бы узнать, можно ли настроить Xcode для подсчета ссылок и показывать предупреждения, если номера «retain» и «release» не совпадают?

Ответы [ 2 ]

11 голосов
/ 21 апреля 2010

Используйте команду Build> Build and Analyze или cmd-shift-A. Статический анализатор может обнаружить множество ошибок в этой области.

5 голосов
/ 21 апреля 2010

Для этого и нужны инструменты.

Для большего количества удержаний, чем релизов:

Утечки сообщат вам, когда у вас больше нет ссылки на объект, но он все еще сохраняет.

Object Alloc покажет вам все объекты, все еще сохраненные в системе в любой момент времени. Не забывайте, что многие вещи не должны выпускаться до тех пор, пока ваша программа не закончится ... поэтому система не может знать, когда у вас слишком много сохранений, кроме случая «Утечки». Выделение объекта может также показать для любого объекта полную историю вызовов удержания и освобождения.

Если у вас больше выпусков, чем запоминается, вы сразу узнаете об этом, потому что приложение вылетит. В этом случае вы включаете «NSZombieEnabled», выбирая исполняемый файл «Get Info», а затем на вкладке «Общие» введите переменную среды «NSZombieEnabled» в «YES». Затем, когда вы попытаетесь получить доступ к объекту, который вы выпустили, вы увидите сообщение об ошибке в журнале. Это также может очень помочь запустить Object Alloc и сказать ему обратить внимание на зомби. Не оставляйте зомби, так как он работает, никогда не освобождая память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...