[STM32F2] 使用STM32CubeIDE调试裸机应用程序时,如何进行堆监控

[复制链接]
273|4
咚了个咚 发表于 2025-9-27 08:34 | 显示全部楼层 |阅读模式
在使用STM32CubeIDE调试裸机应用程序时,如何进行堆监控?我看到了针对ARM编译器的__heapstats()和backtrace()。

理论上,使用GCC时,通过包含<execinfo.h>应该可以使用backtrace函数,但这会产生错误。

公羊子丹 发表于 2025-9-28 07:20 | 显示全部楼层
裸机环境下确实没有像Linux那样的execinfo.h支持,backtrace无法用。
周半梅 发表于 2025-9-28 07:22 | 显示全部楼层
STM32CubeIDE + GCC环境下,一般用链接脚本里定义的_sheap和_eheap来监控堆。
帛灿灿 发表于 2025-9-28 07:22 | 显示全部楼层
可以自己写一个简单函数,遍历堆区已分配和剩余空间,统计最大使用量。
童雨竹 发表于 2025-9-28 07:23 | 显示全部楼层
还有人直接在malloc和free里加钩子,记录每次分配和释放的大小。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

66

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部