翻译:What is a good easy to use profiler for C++ on Linux? [closed]

Stack overflow地址:What is a good easy to use profiler for C++ on Linux? - Stack Overflow


翻译:

我想要分析一些Linux上的C++代码。各种有什么分析器的建议吗?



Answers1:

使用gprof。

只需要在编译的时候带有 -pg标识(我认为(但不一定是正确的)你需要关闭优化选项),并且使用 gprof来分析这个你的可执行文件产生的 gmon.out文件。

例子:

gcc -pg -o whatever whatever.c

./whatever

gprof whatever gmon.out

同样的方法对于g++和cpp。


Answers2:

valgrind是一个众所周知的Linux性能分析器。


Answers3:

RotateRight(http://www.rotateright.com)是我一直在使用的。它有函数的蝴蝶视图,并且你可以双击任何函数进行入到源代码或者汇编代码中。创建带有调试信息(-g)来查看你的源码,但是你仍然需要构建和分析优化代码。


Answers4:

我是Oprofile的粉丝,它涉及到安装一个内核模块并且有一点的学习曲线,但是它非常强大对于优化没有调试符号的程序。

Vtune是另一个非常厉害的性能分析工具来自intel。我相信Linux版本对于非商业软件来说是免费的。

还有由dfa提供的valgrind套件。Callgrind 可能是你最感兴趣的。Cachegrind(它是Callgrind's的一个子集)和Massif 也是非常不错的,但是我没有任何它们的使用经验。


Answers5:

可以看一下KCacheGrind,它是valgrind的图形界面版本,非常的容易使用。


Answers6:

google也有有个非常好用的性能分析器,作为google-perftools的一部分,它被Debian / Ubuntu 所包含,可能还有其他发行版。

你可能感兴趣的:(翻译:What is a good easy to use profiler for C++ on Linux? [closed])