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

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

  • 流程级别指标
  • 组件级别指标
  • 线路级指标
  • 支持多线程代码
  • 可用性
  • 成本
  • 需要支持 Visual Studio 2005 专业版(高度支持 VS 2008 专业版 可取)

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

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

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

对于本机 C++ 和 C++ 有哪些好的分析器 为什么?


也可以看看:

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

有帮助吗?

解决方案

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

其他提示

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

性能工具

它是适用于 Server 2008 和 Vista 的新 Windows SDK 的一部分。如果您的目标是在 Windows 下进行性能分析和分析(无论语言如何),那么这绝对令人印象深刻,并且必须下载。

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

msdn文档

尝试英特尔并行工作室。目前,它还处于测试阶段,但英特尔的名字已经说明了一切。

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 Team System。到目前为止。

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

它满足您的要求:

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

请参阅 项目维基 了解更多信息。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top