Как уже упоминалось, используйте Static Analyzer в качестве первой линии защиты.
Он не найдет все.
Но вот проблема в том, что вы запрашиваете утечки. Подумайте о том, что такое утечка - утечка - это когда у вас есть память, которая должна была быть освобождена, но это не так.
Таким образом, это означает, что вы пропускаете строку кода, которую можно было бы разместить где угодно - выполняя фактический выпуск в нужное время. Но как инструмент мог знать, когда что-то ДОЛЖНО быть выпущено?
Таким образом, инструмент делает следующую лучшую вещь. Он сообщает вам, где была выделена утечка памяти, а затем вам нужно выяснить, куда объект перемещался и когда он должен был быть на самом деле освобожден.
Статический анализатор найдет случаи, когда вы должны были выпустить несколько строк кода с момента создания объекта. Что-нибудь еще, вам просто нужно использовать Leaks, чтобы получить отправную точку для отслеживания, когда вам нужно выпустить что-то в другом месте.