在MacOS上分析c ++应用程序?

时间:2010-02-16 12:45:26

标签: macos g++ shark

我的标准Linux分析应用程序方式是:

1) compile with g++ -pg
2) run prog
3) gprof

显然gprof在MacOSX 10.5上很流行,我应该使用Shark。我发现aby Shark的所有教程都涉及XCode(而我的构建是用Makefiels和g ++完成的)。

有人可以在使用g ++构建的应用程序上逐步发布使用shark的说明吗?说出类似的话:

int main() { while(1); }

g++ blah.cpp -o blah; do I need to give it more command line arguments?

how do I use shark here?

1 个答案:

答案 0 :(得分:3)

除非您真的只想了解调用图和调用函数的次数,否则gprof等仪表性分析不是特别有用。对性能分析更有用的是采样分析器,对于这个Apple的Shark工具(CHUD的一部分)是最好的之一。

你真的不需要使用Xcode来构建一个用于在Shark下进行性能分析的应用程序 - 我有使用Makefiles构建的命令行工具,我一直在使用Shark进行分析。您可以从代码中自动触发Shark(有几个不同的API)或者您可以使用“chudRemoteCtrl”命令行工具(man chudRemoteCtrl),或者您可以在Shark中配置启动选项设置可执行路径,工作目录,命令行参数等,然后离开。确保使用-g构建应用程序,以便Shark可以显示源代码而不是反汇编的目标代码。

Shark configuration for command line tool http://www.freeimagehosting.net/uploads/386737a1fa.jpg