Windows上的本机C ++有哪些优秀的分析器?

What are some good profilers for native C++ on Windows?

我在找一个与本地C++一起使用的分析器。当然,它不一定是免费的,但是成本也会影响到购买决策。这是商业作品,所以我不能使用个人或学术授权的副本。

我要找的主要功能是:

  • 过程级指标
  • 组件级指标
  • 行级别指标
  • 支持多线程代码
  • 可用性
  • 成本
  • 需要Visual Studio 2005专业支持(与2008专业支持相比可取的)

我已经使用了英特尔的vtune和computeware的devpartner性能分析社区版。

vtune似乎很强大,但它有一个陡峭的学习曲线。它也是非常"模块化"的,所以你必须弄清楚你需要购买哪些部件。

DevPartner Pace非常易于使用,提供了所有关键功能,但它只是45天的试用期。许可版本(DevPartner为Visual C++ + BunsCheCK套件)约1400美元的座位,这是可行的,但有点高IMO。

什么是一些优秀的本地C++分析器?为什么?

参见:

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


在Windows上,Glowcode价格实惠,使用起来相当容易,并且提供了一个免费试用版,这样您就可以看看它是否适合您。


很多人都不知道,但是MSFT正在取得巨大进展,免费将提高性能的最佳工具交给开发人员。他们向我们所有人展示了Windows跟踪的内部结构:ETW。

抛光工具

它是新的Windows SDK for Server 2008和Vista的一部分。如果您的目标是在Windows下进行性能分析和分析(无论使用何种语言),那么您只需下载即可。

在决定下载文档之前,请检查以下文档:

MSDN文档


尝试Intel Parallel Studio。目前,它是测试版,但英特尔的名字说明了一切。

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


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


刚刚在sourceforge上找到Luke Stackwalker(http://luke stackwalker.sourceforge.net/)。不幸的是,它没有"关注子树",但使用起来仍然很方便,使用符号服务器(如果还没有,我建议您立即设置它),提供图形化的可视化,…

下面是它不显示子函数的累积时间(示例)。

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


我编写了一个开源的轻量级win32/64分析器,支持CPU和内存分析,它有点类似于vs profiler,但具有独特的特性,如CPU的火焰图和内存数据。它在这里:DProfiler


我刚刚完成了CXPROF的第一个可用版本,一个用于C++的便携式手动仪表剖析库。

它满足您的要求:

  • 配置多线程应用程序
  • 正在对同一网络中的多个进程进行分析支持
  • 它的编写考虑到了最佳的可用性和最简单的集成。
  • 它像啤酒一样免费,像演讲一样免费
  • 它将与VS05、08、10、12和13一起工作。以及Linux上的G++。它目前已经通过了vs 2013 Express的测试。

有关详细信息,请参见项目wiki。

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


当然是Visual Studio团队系统。到目前为止。