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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

程序是不是需要退出 Valgrind 才能工作?

valgrind--CPP程序内存泄露检查工具

在 linux 上查找泄漏的替代 valgrind (memcheck)? [关闭]

Purify 在类/结构填充上的 Uninit Memory Read (UMR)

是否有类似 Valgrind Memcheck 的工具,用于在出现免费错误后调试 Windows 使用? [关闭]

内存问题检查利器——Purify