gpt4 book ai didi

xcode - 如何以编程方式启动/停止仪器(时间分析器)?

转载 作者:行者123 更新时间:2023-12-02 21:58:50 25 4
gpt4 key购买 nike

有什么方法可以以编程方式启动/停止仪器分析吗?我需要以可靠的方式分析 OS X 代码的特定部分,但我似乎找不到任何 Instruments 文档来告诉我如何做到这一点。对于 CHUD/Shark,有一个编程 API 和一个命令行工具来支持这一点,但我在任何地方都没有看到仪器的等效工具? FWIW 我发现了 2009 年左右的一些旧论坛帖子,哀叹该领域缺乏 Instruments 功能,但没有更新的内容。

最佳答案

是的。查找 DTPerformanceSession。这是introduced with Instruments 4.0 。这是enhanced in Instruments 4.1 .

这些文档提供了示例代码:

CFStringRef process = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%d"), getpid());
CFErrorRef error = NULL;
DTPerformanceSessionRef session = DTPerformanceSessionCreate(NULL, process, NULL, &error);
DTPerformanceSessionAddInstrument(session, (CFStringRef)@DTPerformanceSession_TimeProfiler, NULL, NULL, &error);
CFMutableArrayRef instrumentIDs = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks);
CFArrayAppendValue(instrumentIDs, @DTPerformanceSession_TimeProfiler);
DTPerformanceSessionStart(session, instrumentIDs, &error);

// do something in your app

DTPerformanceSessionStop(session, instrumentIDs, &error);
DTPerformanceSessionSave(session, (CFStringRef)@"/tmp/myAppProfile", &error);
DTPerformanceSessionDispose(session, &error);

关于xcode - 如何以编程方式启动/停止仪器(时间分析器)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17292094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com