Профилировщик iOS, похожий на Android Traceview

Мне больше нравится разрабатывать для iOS, чем для Android.
Однако в Android SDK есть отличный инструмент для профилирования, который называется Traceview: Traceview screen

Он может не только помочь найти узкие места, но и показать, какой метод выполнялся в конкретный момент в каждом потоке. Это может быть очень полезно при профилировании и отладке. Например, если мое приложение в какой-то момент рухнет, я легко увижу, что происходило до краха в каждом потоке.

Есть ли какой-нибудь инструмент для iOS, который может делать подобные вещи? Я попробовал TimeProfiler и Sampler в Instruments, но не смог найти, как это сделать.


person Pavel Alexeev    schedule 04.06.2012    source источник


Ответы (1)


Обнаружение следов аварийного стека:

  1. Это возможно, если на вашем устройстве установлена ​​отладочная сборка, которая дает сбой. Подключите устройство к Xcode и из Xcode запустите приложение. После сбоя Xcode покажет вам трассировку стека.
  2. В любом случае iOS пишет отчет о сбое с подробными трассировками стека всех потоков. Как только вы подключите устройство к Xcode и запустите Организатор, он автоматически импортирует все отчеты о сбоях и символизирует их. Обратите внимание, что на вашем Mac должна быть заархивирована именно та сборка и dSYM, которые вызвали сбой на устройстве. Когда вы используете функцию архивирования, это делается автоматически. Если это отладочная сборка, и вы создали другую отладочную сборку в Xcode для устройства, а не для симулятора (независимо от того, подключено какое-либо устройство или нет), то файлы больше не доступны. Символизация преобразует фреймы памяти в номера классов, методов и строк. Чтобы получить номера строк, dSYM обязателен!
  3. Вы также можете использовать сторонние отчеты о сбоях для обнаружения сбоев, отправки их на сервер, их группировки и символизации (если загружен dSYM и сервер может это сделать). Это работает для отладки, бета-версии и сборки магазина приложений. Здесь показаны некоторые примеры: Включение пользовательских данных в аварийные дампы iOS< /а>

Профилирование. Инструмент Инструменты предоставляет множество функций для профилирования вашего приложения, например:

  • Использование памяти
  • Утечки
  • Использование процессора
  • Зомби
  • и многое другое

Более подробную информацию об инструментах можно найти в документации для разработчиков iOS: https://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004652

person Kerni    schedule 04.06.2012