我正在尝试在我的 mac (os x Lion) 上分析一些 C++ 代码,但我找不到任何有用的东西。我正在寻找一个分析器,它可以告诉我哪些函数占用了我的 cpu 时间(类似于 matlab 分析器)。
这是我尝试过的
- gprof。这是我在 Linux 机器上使用的,但它只是在我的 mac 上给了我空输出(显然是一个已知问题)
- 仪器。我一生都无法弄清楚如何在编译的二进制文件中分析任何内容。我也找不到任何有用的教程。
- (其他搜索显示 Shark,它不再可用,Valgrind 用于内存)。
最佳答案
Instruments 是要使用的工具。仪器的完整解释超出了本答案的范围,但这里有一个快速入门指南:
- 打开仪器。1
- 选择“时间分析器”模板。
- 在“目标”下拉菜单中选择您的应用。2
- 点击红色圆圈(“记录”)按钮开始运行您的应用程序。
- 如果适用,请在您的应用中执行一些需要分析的操作。
- 再次点击录制按钮即可停止录制。
- 使用 Instruments 中的工具来分析您的结果。
在可用的工具中,最常用的工具是:
- 使用展开箭头展开调用树
- 单击函数名称上的圆圈箭头将其聚焦
- 双击函数可查看关联的源
- 左侧的“反转调用树”复选框
您还可以在命令行上启动instruments
调用:
instruments -l 30000 -t Time\ Profiler -p 5773
参见instructions .
<小时/>1 打开 Instruments 的一种简单方法是使用 Spotlight:只需单击任务栏右上角(时钟旁边)的放大镜并输入“Instruments” .
2 单击“选择目标...”并导航至可执行文件的路径。
关于macos - 在 mac os x 上分析 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11445619/