7

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

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

显然 gprof 在 MacOSX 10.5 上是 broek,我应该使用 Shark。我在 Shark 中找到的所有教程都涉及 XCode(而我的构建是使用 Makefiels 和 g++ 完成的)。

有人可以在使用 g++ 构建的应用程序上发布使用鲨鱼的分步说明吗?像这样说:

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?
4

1 回答 1

3

除非您真的只是想了解调用图和调用函数的次数,否则诸如 gprof 之类的插桩分析并不是特别有用。对性能分析更有用的是采样分析器,Apple 的 Shark 工具(CHUD 的一部分)是最好的工具之一。

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

命令行工具的 Shark 配置 http://www.freeimagehosting.net/uploads/386737a1fa.jpg

于 2010-02-16T13:14:01.470 回答