在 nRF82540/ARM/IAR/FreeRTOS 上以编程方式查找调用堆栈(展开?)

问题描述 投票:0回答:1
我正在尝试编写一个监视堆的例程,以追踪内存泄漏。 我在其他平台上看到过类似的工具,发现它们非常有用。 为了使其更加有效,我想记录发出请求的 malloc() 调用者。为此,例程需要读取调用堆栈(有时称为展开)。 我一直在谷歌搜索并找到 GNU 编译器和其他平台的线索,但似乎与我的平台无关:nRF52840/ARM/IAR/FreeRTOS。

我意识到这是非常不可移植的,但这只是偶尔需要调试。

有人有什么建议吗? 我见过对 unwind.h 的引用,但它们似乎仅适用于 GNU。

arm freertos callstack iar nrf52
1个回答
0
投票
也许您正在寻找 IAR 的 C-RUN 运行时堆分析。它会自动检测代码,以便可以即时检测到可预防的泄漏。

它可以作为附加组件提供,但也有试用版。

https://github.com/iarsystems/crun-evaluation-guide?tab=readme-ov-file#heap-checking-capability

© www.soinside.com 2019 - 2024. All rights reserved.