我在 Linux 下使用 Eclipse CDT,任何人都可以在那个环境下推荐一个好的分析器。
我也是 C++ 和多线程编程的新手,任何人都可以提供一些关于如何为多线程应用程序运行分析的建议,例如,寻找性能瓶颈等。
谢谢。
我在 Linux 下使用 Eclipse CDT,任何人都可以在那个环境下推荐一个好的分析器。
我也是 C++ 和多线程编程的新手,任何人都可以提供一些关于如何为多线程应用程序运行分析的建议,例如,寻找性能瓶颈等。
谢谢。
我不知道这是否是最佳选择,但它绝对是显而易见的:gprof。您只需要正确设置编译开关(在项目属性 -> c/c++ 构建 -> 设置 -> 调试中为该项目启用 gprof (-pg))。当您使用此选项编译程序后,您需要运行它(直到正常退出)。这会生成配置文件 (gmon.out)。您可以在 eclipse 中安装其他插件,它可以可视化 gmon.out 的内容(转到帮助 -> 安装 -> Linux 工具 -> GProf 集成)。安装该插件后,只需像打开任何其他文件一样打开生成的 gmon.out 文件。
正如 dbrank0 所提到的,您需要为该项目设置编译选项 (-pg)。转到项目属性 -> c/c++ 构建 -> 设置 -> C++ 编译器 -> 调试并检查生成 gpof 信息。当你编译程序(test_prof.c)时,你会得到一个 exe 文件(在我们的例子中是 test_prof)。
$ ls
test_gprof test_gprof.c
当你运行它时,会在同一目录中生成一个 gmon.out 文件。
$ ls
gmon.out test_gprof test_gprof.c
gprof工具使用可执行文件名和上面生成的“gmon.out”作为参数运行。这将生成一个分析文件,其中包含所有所需的分析信息。
$ gprof test_gprof gmon.out > analysis.txt
将生成一个名为“analysis.txt”的文件,其中包含所有配置文件信息,可以轻松读取。有关详细信息,请查看http://www.thegeekstuff.com/2012/08/gprof-tutorial/