我的标准Linux分析应用程序方式是:
1) compile with g++ -pg
2) run prog
3) gprof
Run Code Online (Sandbox Code Playgroud)
显然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?
Run Code Online (Sandbox Code Playgroud)
除非您真的只想了解调用图和调用函数的次数,否则诸如 gprof 之类的仪表化分析并不是特别有用。对于性能分析更有用的是采样分析器,Apple 的 Shark 工具(CHUD 的一部分)是最好的工具之一。
您确实不需要使用 Xcode 来构建用于在 Shark 下进行分析的应用程序 - 我有使用 Makefile 构建的命令行工具,我一直使用 Shark 进行分析。您可以从代码中自动触发 Shark(有几个不同的 API),也可以使用“chudRemoteCtrl”命令行工具 ( man chudRemoteCtrl),或者您可以在 Shark 中配置启动选项来设置可执行路径,工作目录、命令行参数等,然后就可以了。确保您构建应用程序时使用-gShark 可以显示源代码而不是反汇编的目标代码。
命令行工具的 Shark 配置 http://www.freeimagehosting.net/uploads/386737a1fa.jpg