означают ли записи в таблице профилей XCode "Leaked Blocks" определенную утечку?
да.
утечки оцениваются ленивым способом. Утечки не гарантируют, что перехватят все утечки, потому что он фактически не записывает все ссылки - он просто сканирует память процесса (включая стеки и регистры) на наличие паттернов (например, значение указателя) активных выделений.
man leaks
предоставит вам подробности реализации, а раздел WEAKNESSES подтвердит мой ответ на ваш вопрос и даст пример обстоятельства, при котором утечки не будут обнаружены.
если вы управляете своими распределениями по-настоящему запутанным способом (например, арифметика / смещения указателей), вы можете фактически обойти систему и ввести ложные срабатывания - не делайте этого =)
когда вы публикуете код в SO, и люди говорят вам, что это правильно, они означают, что программа, которую вы разместили , является правильной - утечка (в данном случае дисбаланс подсчета ссылок) вводится в другом часть вашей программы. то есть возвращаемый вами указатель (newDate
в ссылке) неправильно подсчитывается вызывающим абонентом или тем, кому вызывающий передает его.
Все инструменты
записывают все подсчеты ссылок для вас - в случае, если статический анализ не возвращает никаких проблем.
в частности, инструменты показывают вам, где было выделено выделение / объект создан .
надеюсь, это поможет.