Можно ли использовать инструменты XCode с включенными точками останова? - PullRequest
8 голосов
/ 28 октября 2011

Я пытаюсь оптимизировать использование памяти приложением для iOS, и я хотел бы посмотреть, каково общее использование памяти приложением в определенных точках кода.Я думал, что смогу установить точки останова, профилировать приложение с помощью Activity Monitor и просто посмотреть на использование памяти при каждой точке останова.Но когда я запускаю Instruments, кажется, что точки останова больше не останавливают выполнение, поэтому трудно точно знать, когда меняется использование памяти.

Можно ли использовать точки останова и инструменты одновременно?Если нет, есть ли умный способ написания некоторого кода для вставки маркера в шкалу инструментов, когда происходят определенные события?

Ответы [ 2 ]

9 голосов
/ 02 июля 2012

Я также столкнулся с этой проблемой сегодня, и после небольшого поиска я нашел это решение.Ниже приводится цитата из сообщения:

Точки останова не ломаются. Инструменты используют отладочную информацию из вашей отладочной сборки, однако она не останавливается на заданных вами точках останова.Это происходит потому, что когда вы загружаете свое приложение в Instruments из меню в XCode, Instruments просто использует путь текущего исполняемого файла в качестве начального пути и загружает его извне из XCode.Меню в XCode действительно есть как удобный механизм.Это не имеет большого значения, так как вы всегда можете запустить снова в режиме отладки после сеанса инструментов, если вы хотите, чтобы ваше приложение сломалось.Это просто кое-что, что нужно сделать.

Заявления NSLog не отображаются в консоли отладчика. Если вы хотите видеть свои операторы NSLog, вам нужно загрузить системное консольное приложение (/Applications/Utilities/Console).

Ссылка: http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

1 голос
/ 28 октября 2011

Ну, вы не работаете под управлением отладчика.

Один из подходов может состоять в том, чтобы добавить оповещения в ключевых точках и затем сделать снимок кучи (вручную).

Илитам может быть какое-то волшебство dtrace.

...