Windows上的本地C ++有哪些好的分析器?

我正在寻找一个分析器来使用本机C ++。 它当然不一定是免费的,但是成本是影响购买决定的因素。 这是用于商业工作,所以我不能使用个人或学术许可的副本。

我正在寻找的关键function是:

  • 过程级度量
  • 组件级别指标
  • 行级指标
  • 支持multithreading代码
  • 可用性
  • 成本
  • 需要Visual Studio 2005 Professional支持(VS 2008 Professional支持非常可取)

我已经使用了英特尔的VTune和Compuware的Devpartner性能分析社区版。

VTune看起来非常强大,但是它的学习曲线陡峭。 这也是非常“模块化”,所以你必须弄清楚你需要购买哪些零件。

DevPartner PACE非常易于使用,并提供了所有主要function,但只有45天的试用期。 行货版本(DevPartner for Visual C ++ BoundsChecker Suite)售价约1400美元,这是可行的,但有点高。

本地C ++和WHY有什么好的分析器?


也可以看看:

什么是你最喜欢的分析工具的C + +

在Windows上, GlowCode价格实惠,相当易于使用,并提供免费试用版,以便您了解它是否适​​用于您。

许多人都不知道,但MSFT正在取得很大的进展,提供最好的工具,以提高devlopers免费的性能:-)。 他们揭露了我们所有人的Windows追踪内幕:ETW。

perftools

它是服务器2008和Vista的新的Windows SDK的一部分。 简单的令人印象深刻,必须下载,如果性能分析和Windows下的分析是你的目标(不管语言)。

在决定下载之前,请查看这里的文档:

msdn文档

尝试英特尔Parallel Studio。 目前,它处于测试阶段,但英特尔这个名字就是这么说的。

http://www.intel.com/go/parallel

刚刚在SourceForge上找到Luke StackWalker( http://lukestackwalker.sourceforge.net/ )。 不幸的是,它没有“专注于子树”,但它仍然使用方便,使用符号服务器(我建议你立即设置它,如果你还没有它),提供一个图形化的可视化,…

不利的一面是它没有显示子功能的累计时间(样本)。

另一种选择是“非常困”( http://www.codersnotes.com/sleepy )。 它可以显示孩子的累计时间,但不幸的是它不使用符号服务器。

CodeXL也值得一看,它可以在Linux和Windows上运行,尽管它主要用于OpenGL / OpenCL调试和性能分析,但是在性能分析部分有一个基于时间的CPU示例选项,这可能对您有所帮助。 它也是免费的,只要pdb文件可用(在Windows上,我不知道它如何在Linux上工作)(即使​​是与pdb发布版本)。

绝对的Visual Studio团队系统。 到目前为止。

我写了一个开源的轻量级win32 / 64分析器,支持CPU和内存分析,它与VS分析器类似,但具有独特的功能,如CPU和内存数据的火焰图。 它在这里: dprofiler

我刚刚完成了CxxProf的第一个可用版本, CxxProf是一个用于C ++的便携式手动检测分析库。

它满足您的要求:

  • 配置多线程应用程序
  • 支持在同一网络中分析多个进程
  • 它是用最好的可用性和最简单的集成来编写的
  • 它像啤酒一样免费,言语自由
  • 它将与VS05,08,10,12和13一起工作。与Linux上的g ++一样。 目前已经在VS 2013 Express上进行了测试。

查看项目wiki获取更多信息。

免责声明:我是CxxProf的主要开发者