iOS设备上的时间分析器 - 标记特定时刻?

时间:2012-03-20 15:35:48

标签: iphone ios performance profiling instruments

基本上,每当调用方法foo时,我希望在跟踪中出现垂直线(或标志)。这可能吗?

(请注意,DTPerformanceSession似乎不支持iOS设备。)

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但DTPerformanceSession框架包含一个标题DTSignalFlag.h,它为DTSendSignalFlag函数提供了接口。它仅支持模拟器,并且在定位iOS 7时似乎不起作用,但在早期版本的iOS中非常有用(即使使用Xcode 5)。

您需要包含标题:

#import <DTPerformanceSession/DTSignalFlag.h>

要获得对标题的访问权限,您必须将DTPerformanceSession框架添加到项目中,但是您可以将其删除以避免链接器错误(但您仍然可以访问标头),并且然后你可以做到以下几点:

// 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);