推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

实验81_堆内存泄漏检测_周期性监控.docx

资料介绍

实验 81:堆内存泄漏检测 周期性监控

实验说明

实验概述

内存泄漏是嵌入式系统中一个隐蔽而严重的问题,长期运行的系统的内存泄漏最终会导致系统崩溃。FreeRTOS 提供了 xPortGetFreeHeapSize()  xPortGetMinimumEverFreeHeapSize() 两个函数,可以用来监控堆内存的使用情况。通过定期记录和分析内存变化趋势,可以及时发现内存泄漏。

实验原理

xPortGetFreeHeapSize() 返回当前可用的堆空间大小,xPortGetMinimumEverFreeHeapSize() 返回系统运行以来堆空间的最小值。如果系统运行一段时间后,空闲堆持续减少而历史最小值未更新,说明存在内存泄漏。本实验通过一个"有泄漏"的任务和一个"无泄漏"的任务对比演示。

实验现象

两个任务分别执行有泄漏和无泄漏的内存操作,监控任务每 5 秒报告内存变化,观察泄漏任务的内存持续减少。

完整代码

  c
#include "FreeRTOS.h"
#include "task.h"
#include <stdio.h>
#include <string.h>

#define LEAK_SIZE 64

static void vLeakTask(void *pvParameters)
{
    void *pMem;
    uint32_t count = 0;

    for (;;)
    {
        /* 分配但不释放,模拟内存泄漏 */


部分文件列表

文件名 大小
实验81_堆内存泄漏检测_周期性监控.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • 21下载积分 打赏65.00元   3天前

    用户:xzxbybd

  • 21下载积分 打赏60.00元   3天前

    用户:jh0355

  • 21下载积分 打赏60.00元   3天前

    用户:w178191520

  • 21下载积分 打赏20.00元   3天前

    用户:jh03551

  • 21下载积分 打赏20.00元   3天前

    用户:sun2152

  • 21下载积分 打赏20.00元   3天前

    用户:kk1957135547

  • 21下载积分 打赏25.00元   3天前

    用户:w1966891335

  • 21下载积分 打赏20.00元   3天前

    用户:xuzhen1

  • 21下载积分 打赏15.00元   3天前

    用户:x15580286248

  • 21下载积分 打赏25.00元   3天前

    用户:pcb

  • 21下载积分 打赏20.00元   3天前

    用户:bhacker

  • 21下载积分 打赏15.00元   3天前

    用户:liqiang9090

  • 21下载积分 打赏25.00元   3天前

    用户:有理想666

  • 21下载积分 打赏15.00元   3天前

    用户:godbox

  • 21下载积分 打赏15.00元   3天前

    用户:aetek

  • 21下载积分 打赏5.00元   3天前

    用户:mulanhk

  • 21下载积分 打赏5.00元   3天前

    用户:JuneLin61

  • 21下载积分 打赏5.00元   3天前

    用户:ccc6188

  • 21下载积分 打赏5.00元   3天前

    用户:木集盒

推荐下载