内存分析技能 memory-analysis

本技能是专为嵌入式系统设计的综合内存分析工具,提供链接器映射文件解析、栈使用量估算、堆碎片检测、内存泄漏排查以及全面的内存优化策略。核心功能包括静态内存布局分析、动态使用模式跟踪、性能瓶颈定位和资源优化建议,帮助开发者高效管理有限的内存资源,提升系统稳定性和性能。关键词:嵌入式内存分析,栈溢出检测,堆碎片优化,内存泄漏排查,链接器映射文件,资源优化,性能调优。

嵌入式软件 0 次安装 0 次浏览 更新于 2/25/2026

name: memory-analysis description: 嵌入式内存分析、优化与泄漏检测 category: 资源优化 allowed-tools:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep

内存分析技能

概述

本技能为嵌入式系统提供全面的内存分析能力,包括链接器映射文件分析、栈使用量估算、堆碎片检测以及内存优化策略。

能力范围

链接器映射文件分析

  • 映射文件解析与解读
  • 符号大小分析
  • 段大小细分
  • 内存区域利用率
  • 未使用符号检测
  • 交叉引用分析

栈分析

  • 静态栈使用量分析
  • 调用图生成
  • 最坏情况栈深度计算
  • 单函数栈使用量
  • 中断栈分析
  • 栈溢出检测策略

堆分析

  • 堆碎片分析
  • 分配模式分析
  • 内存池大小调整
  • 泄漏检测策略
  • 峰值使用量跟踪
  • 块大小分布

内存优化

  • 段放置优化
  • Flash与RAM权衡
  • 常量正确性强制
  • 字符串池策略
  • 数据结构打包
  • 对齐优化

内存保护

  • MPU区域配置
  • 栈保护实现
  • 缓冲区溢出保护
  • 内存隔离策略

工具集成

  • GCC映射文件分析
  • ARM编译器映射文件
  • Puncover集成
  • 静态分析集成
  • objdump/readelf使用

目标流程

  • memory-architecture-planning.js - 内存布局设计
  • code-size-optimization.js - 大小缩减策略
  • execution-speed-profiling.js - 内存访问优化
  • bootloader-implementation.js - 多镜像内存布局

依赖项

  • 链接器映射文件解析器
  • 栈分析工具(Puncover、GCC栈分析)
  • objdump、readelf、nm实用程序

使用场景

本技能在以下任务需求时被调用:

  • 内存使用优化
  • 栈大小确定
  • 堆配置设计
  • 内存泄漏调查
  • 代码大小缩减

分析输出

映射文件摘要

段              大小      已用      空闲    使用率
.text         128 KB    98.5 KB   29.5 KB  76.9%
.rodata        32 KB    24.2 KB    7.8 KB  75.6%
.data           8 KB     2.1 KB    5.9 KB  26.2%
.bss           16 KB    12.4 KB    3.6 KB  77.5%

栈分析

函数              栈大小  深度   总计
main                64       1      64
process_data       128       2     192
parse_message      256       3     448
handle_packet       96       4     544

配置

memory_analysis:
  map_file: build/firmware.map
  stack_analysis: enabled
  heap_tracking: enabled
  warning_threshold: 85  # 百分比
  tools:
    - puncover
    - gcc-stack-analyzer