【问题标题】:Memory leak analysis of IAR workbench (EWARM)IAR工作台(EWARM)的内存泄漏分析
【发布时间】:2015-04-02 08:52:41
【问题描述】:

我最近购买了 IAR Workbench IDE for ARM (EWARM)。我的许可证不包括 C-RUN 进行内存泄漏检查。是否可以使用第三方工具(如 Valgrind)来执行内存泄漏分析?

【问题讨论】:

  • C-RUN? (我自己没用过)
  • 您确定需要这个吗?当我们使用低端 ARM(
  • 我在 IDE 上找不到 C-RUN 在哪里,我在工具或项目菜单上看不到任何分析选项。我想对 Valgrind 做类似的分析,看看代码是否存在内存问题。我的许可证说我有 C-RUN,但不知道如何使用它
  • 其实我的license中没有C-RUN,我会更新问题,谢谢

标签: c memory-leaks arm valgrind iar


【解决方案1】:

如果您的程序不包含符合标准的 main 入口点,我不明白为什么您无法在不链接的情况下编译它(例如 gcc -c your_file.c)然后链接标准 -符合main 的入口点,它执行一系列任务并按照您的程序应退出...然后您可以在任何将运行 Valgrind 的 PC 上使用 valgrind 运行这些测试用例。

如果有特定于平台的功能,那么,我见过/从事过的大多数健全的项目都有某种方法可以将它们分离成特定于平台的代码,同时将可移植的、符合标准的代码放在一起(例如,在lib 中)。为了您的利益,我希望您的程序在开发时考虑到可移植性,因为它会使此类测试用例易于开发和运行。

【讨论】:

  • @Micheled'Amico 我会尝试...谢谢你的赞美 :)
【解决方案2】:

如果您的工具在其动态内存实现中未提供堆调试功能,您可以尝试将这些功能替换为具有此功能的库。

dmalloc (http://dmalloc.com) 是一个免费的此类例程库,提供诸如隔离动态分配的堆区域和观察释放的块访问等功能。

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 2011-10-15
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多