嵌入式系统中的内存泄漏

use*_*002 1 embedded memory-leaks

我需要检查嵌入式系统中的内存泄漏。

IDE是HEW,我们正在使用uCOSIII RTOS。

Valgrind不支持以上配置。您能否建议使用一种工具或方法来检查内存泄漏?

Mar*_*son 5

在嵌入式系统中动态分配内存的第一条规则是“不要”。在执行开始时将其全部分配一次,然后放任不管。否则,您必须评估并确定某个malloc(或类似操作)失败时的处理方法。

如果必须在运行时动态分配内存,那么最简单的方法是,您可以使用日志记录基础结构通过在其周围编写包装来跟踪对malloc/ free的调用。然后,您可以跟踪发生分配和释放的位置和时间,并希望看到丢失的内容。

  • 除了处理失败的malloc外,还必须考虑以下事实:malloc不是确定性操作。换句话说,一个malloc花费的时间可能会从一个调用更改为下一个调用,因此可能会导致您错过实时截止时间... (2认同)