DT10是新一代的动态测试工具,可以长时间跟踪记录目标程序执行情况,获取目标程序动态执行数据,帮助进行难于重现的Bug错误分析,覆盖率检测,性能测试,变量跟踪等等功能。
嵌入式项目中,我们经常使用malloc和free函数动态分配内存,如何监控内存分配情况?如何动态了解程序执行过程中内存使用情况,本文介绍如何通过DT10帮助用户监控堆内存分配情况。
请看如下代码片段,代码中有使用malloc和free函数进行内存分配和释放,为演示DT10如何帮助我们检测内存泄漏,以下面代码为例。

在DT10中创建一个工程,如果要检测Memory在堆中分配动态变化情况,需要添加一个辅助文件dt_memory_leak.c文件,用以记录其HeapSize的大小,将该文件也导入到DT10的工程中,并针对HeapSize插入测试点,如下图:

然后重新构建并执行程序,同时打开DT10监听程序收集测试结果数据,并实时打开Multi Wave Scope窗口,在其中设置单独针对HeapSize进行监控,这样可以实时查看程序运行过程中HeapSize的变化情况:

“原创内容,转载请标明出处”
本文介绍了如何利用DT10工具监控嵌入式项目中的内存分配情况,特别是针对malloc和free函数的使用。通过添加辅助文件dt_memory_leak.c并插入测试点,可以实时查看程序运行时HeapSize的变化,从而有效检测内存泄漏问题,提升性能测试和错误分析的效率。
40

被折叠的 条评论
为什么被折叠?



