【问题标题】:tools to determine memory leak in a c/c++ code [closed]确定c/c++代码中内存泄漏的工具[关闭]
【发布时间】:2011-07-08 21:20:30
【问题描述】:

在 unix 环境下,是否有任何工具可以轻松分析代码并提及代码的某些部分可能存在内存泄漏。 HPUX/AIX/Solaris

【问题讨论】:

    标签: c++ c unix memory-leaks


    【解决方案1】:

    如果您说的是static analysis,那么cppcheck(还有很多其他)

    如果您说的是runtime checker(这将比静态分析更准确和可靠),那么valgrind

    还有很多其他可用的工具。查看上面的链接了解更多信息

    Purify 可以在 AIX 上运行(尽管它不是免费的。

    HP 有wdb 调试器,它能够检测内存泄漏。

    【讨论】:

    • 我认为 valgrind 只能在 LINUX 上使用。不能在没有 GUI 的 HPUX 或 AIX 上使用。
    • @wvwvwv,2 点,1,Hpux,Aix 等,都支持一种或另一种形式的 GUI。 2、valgrind是命令行工具(无gui)
    • @wvwvwv,关于 valgrind 不直接支持 HPUX 或 AIX 是正确的。您可以尝试自己移植它,但我怀疑这并不容易
    • valgrind 支持的平台列在这里:valgrind.org/info/platforms.html
    • @wvwvwv 我添加了一些与 AIX 和 HP 兼容的产品
    【解决方案2】:

    虽然不是用于检测内存泄漏的专用工具,但另一个选项是 HP 实验室提供的 Boehm-Demers-Weiser garbage collector

    它可以替代 new 和 malloc。

    Here 是使用它作为泄漏检测器的说明。它现在或曾经被 Mozilla 用作 Firefox 的泄漏检测器。如果我没记错的话,它也被 Mono 和 DotGNU Portable.NET 用作 gc。

    【讨论】:

      【解决方案3】:

      我使用 Insure 并且效果很好。欲了解更多信息,请使用 http://www.parasoft.com/jsp/products/article.jsp?articleId=530

      【讨论】:

        【解决方案4】:

        我也经常使用这个工具,它立即为我解决了很多问题。 这是我为识别 solaris unix 中的内存泄漏而创建的一个工具。 Here 是。运行方式也明确提到了here

        【讨论】:

          猜你喜欢
          • 2011-06-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-08
          • 2023-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多