Отличается ли отладочный навигатор XCode от распределения инструментов? - PullRequest
0 голосов
/ 29 сентября 2018

Я пытаюсь найти проблемы с памятью в моем приложении.

Когда я использую отладочный навигатор Xcode для проблем с памятью, я вижу увеличение общего использования приложения.Для определенного потока, когда я иду туда-сюда, я не вижу, чтобы память сохранялась.

Однако, если я прохожу тот же поток и инструмент, используя Распределения, я вижу, что 3Mbs сохраняются каждый раз, когда я иду туда и обратно.

Не является ли отладочный навигатор XCode ненадежным, или он измеряет что-то другое или что-то еще?!

РЕДАКТИРОВАТЬ:

Так мне сказалиразница связана с конфигурацией сборки.ХОРОШО.Но если я пойду и «отредактирую схему» и изменит конфигурацию сборки на «релиз» и запустлю на моем устройстве.Могу ли я ожидать, что навигатор отладки Xcode будет работать так же?Или все же есть некоторые отличия?Если так, что?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Является ли отладочный навигатор XCode ненадежным, или он измеряет что-то другое

Абсолютно да!Как я много раз советовал здесь (например, здесь ), вы должны никогда делать реальные выводы из индикаторов отладочного навигатора.Распределение памяти работает совершенно иначе в отладочной сборке в симуляторе.Если вы хотите знать, как работает память вашего приложения, вы должны использовать инструменты, чтобы получить сборку релиза, и вы должны работать на устройстве, чтобы использование вашей памяти отражало реальные условия.

Но если я пойду и «отредактирую схему» и поменяю конфигурацию сборки на «релиз» ... Могу ли я ожидать, что отладочный навигатор Xcode будет работать так же

Абсолютно нет!Релиз означает, что выполняются все виды оптимизаций компилятора, которые делают практически невозможным использование отладчика.Но это не имеет значения;вы никогда не будете отлаживать и , используя инструменты для измерения чего-либо одновременно.

0 голосов
/ 03 октября 2018

Поведение Xcode по умолчанию - использовать отладочную сборку при запуске проекта в Xcode и использовать сборку релиза при профилировании проекта в Instruments.Сборки отладки и выпуска могут иметь различное количество использования памяти.

Вы можете проверить и изменить конфигурацию сборки в редакторе схем Xcode.

enter image description here

Если это не решит вашу проблему, вам будет трудно получить окончательный ответ.Люди, которые знают внутреннюю работу и различия между отладчиком и инструментами, являются инженерами Apple.

...