Я разработал lib , который ловит пропущенные объекты и визуализирует их взаимосвязь между собой.
Все взаимодействия происходят через консоль Xcode. Нажмите pause в отладчике Xcode и введите что-то вроде этого:
po [parser run:@"leaks saveGraph /Users/yourName/Documents/dot/mem.txt"]
Команда создает файл mem.txt для точечного инструмента (http://www.graphviz.org/). Точка должна быть установлена. Затем мы можем преобразовать mem.txt в точечный файл с помощью;
dot -Tdot mem.txt -o mem.dot && open ./mem.dot
Это покажет график с живыми и мертвыми объектами из вашего приложения в текущий момент. Некоторые примеры:
https://github.com/soniccat/memCheck-for-iOS/raw/master/images/pic1.png
https://github.com/soniccat/memCheck-for-iOS/raw/master/images/pic2.png
Стрелка из DetailViewController в UILabel означает, что объект DetailViewController содержит объект UILabel. Пунктирная стрелка показывает, когда объект мертв. Живые объекты имеют белый фон, мертвые объекты - серый фон.
О формате команды синтаксического анализатора и специальном фильтре (fromList), который удаляет все ненужные объекты, которые вы можете прочитать на странице git-концентратора memCheck-for-iOS .
Счастливого использования:)