профилировщик времени на устройстве iOS - отмечать конкретные моменты? - PullRequest
1 голос
/ 20 марта 2012

По сути, я хочу, чтобы вертикальная линия (или флаг) появлялась в моей трассировке всякий раз, когда вызывается метод foo. Возможно ли это?

(Обратите внимание, что DTPerformanceSession не поддерживает устройства iOS.)

1 Ответ

0 голосов
/ 26 сентября 2013

Я знаю, что это старый вопрос, но структура DTPerformanceSession содержит заголовок DTSignalFlag.h, который обеспечивает интерфейс для функции DTSendSignalFlag. Он поддерживает только симулятор и не работает при таргетинге на iOS 7, но чрезвычайно полезен в более ранней версии iOS (даже с Xcode 5).

Вы должны включить заголовок:

#import <DTPerformanceSession/DTSignalFlag.h>

Чтобы получить доступ к заголовку, вы должны добавить DTPerformanceSession framework в свой проект, но затем вы можете удалить его, чтобы избежать ошибок компоновщика (но у вас все еще будет доступ к заголовкам), а затем вы может сделать следующее:

// Point flag (just an event in time)
DTSendSignalFlag("com.mycompany.mytracepoints.app.point", DT_POINT_SIGNAL, TRUE);

// Start flag (to mark the start of something)
DTSendSignalFlag("com.mycompany.mytracepoints.app.start", DT_START_SIGNAL, TRUE);

// End flag (to mark the end of something)
DTSendSignalFlag("com.mycompany.mytracepoints.app.end", DT_END_SIGNAL, TRUE);
...