在Linux上用C ++开发一个简单易用的分析器是什么?

我需要分析一些在Linux上运行C ++的代码。 你们可以推荐一些configuration文件吗?

Solutions Collecting From Web of "在Linux上用C ++开发一个简单易用的分析器是什么?"

使用gprof。

-pg标志进行编译(我认为(但不是很确定)你必须优化),然后使用gprof来分析你的可执行文件然后生成的gmon.out文件。

例如:

 gcc -pg -o whatever whatever.c ./whatever gprof whatever gmon.out 

与g ++和cpp一样的东西。

valgrind是一个知名的linux分析器

从RotateRight( http://www.rotateright.com )放大是我一直在使用。 它具有功能的蝴蝶视图,你可以双击任何函数来潜入源代码或asm代码。 用调试信息(-g)构建来查看源代码,但是仍然应该构建和配置优化的代码。

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

Vtune是英特尔另一个非常强大的分析器。 我相信Linux版本是免费的非商业软件。

还有dfa提出的Valgrind工具套件。 Callgrind可能是你最感兴趣的。Cachegrind(其功能集是Callgrind的一个子集)和Massif也很有趣,但是我对后者没有经验。

看看KCacheGrind ,这是一个valgrind的图形前端,使它很容易使用它。

谷歌也有一个不错的分析器作为谷歌perftools的一部分 – 这是包括在Debian / Ubuntu和可能其他发行版。

gprof是用于分析的标准gnu工具。

看看Sysprof 。 你的发行很可能已经可用了。

请注意,如果您的应用程序使用帧指针进行编译,所有提到的分析器工作得最好。 也就是说,你应该在gcc命令行上使用-fno-omit-frame-pointer。

这是我用的。