我的标准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?
答案 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