#ios #xcode #instruments #breakpoints
#iOS #xcode #инструменты #точки останова
Вопрос:
Я пытаюсь оптимизировать использование памяти приложения iOS, и я хотел бы посмотреть, каково общее использование памяти приложения в определенных точках кода. Я думал, что смогу устанавливать точки останова, профилировать приложение с помощью Activity Monitor и просто смотреть на использование памяти при обнаружении каждой точки останова. Но когда я запускаю инструменты, кажется, что точки останова больше не останавливают выполнение, поэтому трудно точно определить, когда меняется использование памяти.
Можно ли использовать точки останова и инструменты одновременно? Если нет, есть ли умный способ написать какой-нибудь код, чтобы вставить маркер на временную шкалу инструментов при возникновении определенных событий?
Ответ №1:
Я также столкнулся с этой проблемой сегодня, и после небольшого поиска я нашел это решение. Текст ниже — цитата из сообщения:
Точки останова не прерываются.Инструменты используют отладочную информацию из вашей отладочной сборки, однако она не останавливается на заданных вами точках останова. Это потому, что, когда вы загружаете свое приложение в инструменты из меню в XCode, Instruments просто использует путь к текущему исполняемому файлу в качестве начального пути и загружает его извне из XCode. Меню в XCode действительно существует как механизм удобства. Это не имеет большого значения, так как вы всегда можете снова запустить в режиме отладки после сеанса работы с инструментами, если хотите, чтобы ваше приложение сломалось. Это просто то, что нужно отметить.
Инструкции NSLog не отображаются в консоли отладчика.Если вы хотите просмотреть свои инструкции NSLog, вам нужно будет загрузить приложение system Console (/ Applications/ Utilities/ Console ).
Ссылка: http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments /
Ответ №2:
Ну, вы не работаете под управлением отладчика.
Одним из подходов может быть добавление оповещений в ключевые точки, а затем сделать снимок кучи (вручную).
Или может быть какое-то волшебство dtrace.