我正在尝试在Mac(OS X Lion)上配置一些c ++代码,但找不到任何有用的东西。我正在寻找一个探查器,该探查器将告诉我哪些功能占用了我的CPU时间(类似于matlab探查器)。
这是我尝试过的
- gprof。这是我在linux机器上使用的,但是它只是在Mac上给了我空的输出(显然是一个已知问题)
- 仪器。我一生都无法弄清楚如何在已编译的二进制文件中分析任何内容。我也找不到任何有用的教程。
- (其他搜索显示Shark(不再可用)和Valgrind(用于存储))。
非常感谢您的帮助!
我正在尝试在Mac(OS X Lion)上配置一些c ++代码,但找不到任何有用的东西。我正在寻找一个探查器,该探查器将告诉我哪些功能占用了我的CPU时间(类似于matlab探查器)。
这是我尝试过的
非常感谢您的帮助!
Answers:
仪器是使用的工具。关于Instruments的完整说明不在此答案的范围内,但是这里有一个快速入门指南:
在可用的工具中,最常用的工具是:
您也可以instruments
在命令行上启动的调用:
instruments -l 30000 -t Time\ Profiler -p 5773
参见说明。
1打开乐器的一种简单方法是使用Spotlight:只需单击任务栏右上角的放大镜(位于时钟旁边),然后键入“乐器”。
2单击“选择目标...”,然后导航到可执行文件的路径。
iprofiler
CLI工具来收集可使用Instruments应用查看的跟踪。由于man -k profiler
不将其包含在结果中,因此发现它并不容易。
instruments
。例如,instruments -t "Time Profiler" ./a.out foo.txt 20
—比在GUI中设置参数和工作目录容易。此后,instrumentscli0.trace
可以通过Instruments GUI打开结果,或者甚至可以通过命令行打开(在GUI中打开)结果:open -a Instruments instrumentscli0.trace
仪器是使用的工具。要克服空白跟踪的问题,请确保从XCode中打开Instruments:
Xcode > Open Developer Tool > Instruments
如果您在上次更新XCode之前从固定在扩展坞上的旧“工具”图标打开“工具”,它将显示空白痕迹。