Valgrind vs Purify [关闭]
Posted
技术标签:
【中文标题】Valgrind vs Purify [关闭]【英文标题】:Valgrind vs Purify [closed] 【发布时间】:2010-11-14 09:03:00 【问题描述】:Linux 上哪个更好? Valgrind 或净化 您对使用它们有何看法?
【问题讨论】:
【参考方案1】:嗯,Valgrind 是免费和开源的,这是一个巨大的优势。
我以前用过 Valgrind,效果很好。除非 Purify 有 Valgrind 没有的功能,并且您绝对需要该功能,否则您可能应该选择 Valgrind。
【讨论】:
【参考方案2】:Valgrind 是开源的,因此包含在许多 Linux 发行版中。它可以与其他开源工具结合使用,例如 KCacheGrind 可视化前端。许多项目已成功使用它来发现内存泄漏等问题。
Purify 是我从未接触过的商业软件,因此仅凭这些理由很难进行比较。
【讨论】:
【参考方案3】:我都使用过,而 valgrind 对我来说无疑是赢家。它不仅是免费和开源的,而且更容易使用,因为它不需要重新编译或重新链接。我还发现 purify 更有可能改变程序的行为,甚至在程序正确时导致它产生不正确的结果。
valgrind 团队进行了一项调查,将 valgrind 与其他工具(包括 Purify 和 posted the results on their site)进行了比较。据此看来,净化的最大优势是 GUI。 Valgrind 不附带 GUI,但有可用的 GUI 前端。我自己更喜欢文本输出。
【讨论】:
【参考方案4】:我相信 Purify 用于 windows 机器,而 Valgrind 不是。
【讨论】:
不正确。 Purify 可用于 Linux。从历史上看,它是在 90 年代在 Unix 下开发的。【参考方案5】:Purify 具有更强大的跨平台支持、更精美的界面和付费支持。 Valgrind 尚未移植到 Windows 和命令行界面,但有几个前端。
【讨论】:
以上是关于Valgrind vs Purify [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 linux 上查找泄漏的替代 valgrind (memcheck)? [关闭]
Purify 在类/结构填充上的 Uninit Memory Read (UMR)