在MacOSX上对g++应用程序进行分析?

7

我通常使用标准的Linux方式来对应用程序进行性能分析:

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

显然,在MacOSX 10.5上gprof出现了问题,我应该使用Shark。我找到的所有有关Shark的教程都涉及XCode(而我的构建是使用Makefiles和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?

你考虑过使用带有GUI程序称为instruments的dtrace吗? - Tadeusz A. Kadłubowski
1个回答

3
仪器化分析(例如gprof)并不特别有用,除非您真的只想了解调用图和函数被调用的次数。对于性能分析来说,采样分析器更加有用,而Apple的Shark工具(CHUD的一部分)是最好的之一。
您真的不需要使用Xcode构建应用程序以在Shark下进行分析 - 我有使用Makefile构建的命令行工具,经常使用Shark进行分析。您可以从代码内部自动触发Shark(有几种不同的API可供使用),或者您可以使用“chudRemoteCtrl”命令行工具(man chudRemoteCtrl),或者您可以仅配置Shark中的启动选项以设置可执行文件路径、工作目录、命令行参数等等,然后就可以开始了。请确保使用-g构建您的应用程序,以便Shark可以显示源代码而不是反汇编的目标代码。 命令行工具的Shark配置 http://www.freeimagehosting.net/uploads/386737a1fa.jpg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接