17

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

我正在寻找的主要功能是:

  • 流程级别指标
  • 组件级指标
  • 行级指标
  • 支持多线程代码
  • 可用性
  • 成本
  • 需要 Visual Studio 2005 Professional 支持(非常需要 VS 2008 Professional 支持)

我使用过 Intel 的 VTune 和 Compuware 的 Devpartner Performance Analysis Community Edition。

VTune 似乎非常强大,但它的学习曲线很陡峭。它也非常“模块化”,因此您必须弄清楚需要购买哪些零件。

DevPartner PACE 非常易于使用并提供所有关键功能,但它只有 45 天的试用期。许可版本(Visual C++ BoundsChecker Suite 的 DevPartner)每个席位大约 1400 美元,这是可行的,但 imo 有点高。

本机 C++ 和WHY有哪些好的分析器?


也可以看看:

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

4

8 回答 8

9

在 Windows 上,GlowCode价格实惠,相当容易使用,并提供免费试用,以便您查看它是否适合您。

于 2008-09-30T17:49:43.073 回答
3

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

性能工具

它是用于 server 2008 和 Vista 的新 windows SDK 的一部分。如果您的目标是在 Windows 下进行性能分析和分析(无论使用哪种语言),那简直令人印象深刻并且必须下载。

在您决定下载之前,请查看此处的文档:

msdn 文档

于 2008-10-03T04:22:52.880 回答
3

试试英特尔 Parallel Studio。目前,它处于测试阶段,但英特尔的名字说明了一切。

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

于 2009-03-02T06:10:45.183 回答
2

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

不利的一面是它不显示子函数的累积时间(样本)。

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

于 2010-02-08T16:07:45.757 回答
2

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

于 2013-09-26T06:00:31.443 回答
1

绝对是 Visual Studio Team System。到目前为止。

于 2010-02-02T09:46:16.013 回答
1

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

它满足您的要求:

  • 分析多线程应用程序
  • 正在支持对同一网络中的多个进程进行分析
  • 它的编写考虑了最佳可用性和最简单的集成
  • 它像啤酒一样免费,像言论一样免费
  • 它适用于 VS05、08、10、12 和 13。以及 Linux 上的 g++。它目前已使用 VS 2013 Express 进行了测试。

有关更多信息,请参阅项目 wiki

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

于 2014-04-23T16:14:44.747 回答
1

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

于 2014-12-21T17:10:35.933 回答