01
内存泄漏基础
什么是内存泄漏 · 危害 · 常见场景
概念入门
02
Makefile基础回顾
基本语法 · 目标与依赖 · 变量与函数 · 内置函数
Makefile复习
03
编译选项与内存检测
-g -O0 -fsanitize=address 详解
编译ASan
04
AddressSanitizer入门
ASan原理 · 集成到Makefile · 运行时环境变量
ASan动态分析
05
Valgrind基础
Memcheck原理 · Makefile集成 · 常用参数
ValgrindMemcheck
06
LeakSanitizer
LSan与ASan关系 · 单独使用 · Makefile配置
LSan轻量
07
GDB调试内存泄漏
断点设置 · 观察点 · 手动追踪malloc/free
GDB调试
08
mtrace工具
mtrace原理 · Makefile集成 · 日志分析
mtrace日志
09
dmalloc库
安装 · Makefile链接 · 运行时配置
dmalloc库
10
Electric Fence
efence原理 · Makefile集成 · 边界检查
efence边界
11
内存泄漏检测框架设计
通用Makefile模板 · 多目标 · 条件编译
框架模板
12
静态分析工具
cppcheck · Clang Static Analyzer · Coverity
静态分析cppcheck
13
动态分析工具对比
ASan vs Valgrind vs LSan 性能与精度
对比选型
14
Makefile自动化测试
make test · 测试用例 · 回归测试
自动化test
15
CI/CD集成
Jenkins/GitLab CI · Makefile与CI脚本
CI/CDDevOps
16
大型项目实战
多目录Makefile · 递归/非递归 · 检测配置
实战大型
17
第三方库内存泄漏
静态/动态库检测 · 白名单 · 抑制文件
第三方库
18
多线程内存泄漏
线程安全 · ThreadSanitizer · Helgrind
多线程TSan
19
C++特有内存问题
new/delete不匹配 · STL容器泄漏 · 智能指针
C++STL
20
内存池与自定义分配器
检测自定义分配器 · 重载operator new/delete
内存池分配器
21
日志与追踪
mtrace日志 · 自定义钩子 · Makefile启用
日志追踪
22
性能开销分析
工具性能开销 · 按需启用 · 生产环境禁用
性能开销
23
内存泄漏报告生成
HTML报告 · XML报告 · Makefile集成
报告HTML
24
Makefile技巧
条件变量 · 函数封装 · 多架构 · 交叉编译
技巧交叉编译
25
嵌入式系统内存泄漏
资源限制 · 交叉编译Valgrind · 轻量方案
嵌入式轻量
26
Windows平台
Visual Studio · Dr.Memory · WSL集成
WindowsDr.Memory
27
macOS平台
Xcode Instruments · leaks命令 · Homebrew
macOSInstruments
28
容器化环境
Docker内存检测 · Makefile+Dockerfile · K8s
DockerKubernetes
29
高级技巧
LD_PRELOAD钩子 · malloc_hook · 自定义包装
高级Hook
30
综合案例
从零构建C++项目 · 完整Makefile · 全流程演示
实战完整