跨进程通信 · 内存泄漏防控
📚 30 章完整目录
v2.0
01
IPC基础与内存模型
进程地址空间隔离 · 共享内存原理 · 内核态/用户态拷贝 · mmap与shmget对比
02
消息队列的内存管理
System V msgsnd/msgrcv · POSIX mq_send/mq_receive · 消息未消费崩溃泄漏
03
共享内存的同步与泄漏
信号量配合 · shmdt/shmctl时机 · ipcs僵尸段 · ftok冲突泄漏
04
Socket通信中的内存泄漏
TCP缓冲区溢出 · UDP数据报丢失黑洞 · Unix Domain差异 · epoll内存管理
05
Binder驱动中的内存泄漏 (Android)
binder_txn分配释放 · 内存池碎片化 · 死亡通知未注销泄漏
06
D-Bus通信的内存泄漏
引用计数机制 · dbus_message_unref · 连接断开清理 · GDBus/libdbus差异
07
RPC框架中的内存泄漏
gRPC protobuf分配 · Thrift TTransport/TProtocol · ICE ObjectAdapter · JSON-RPC解析
08
ZeroMQ的内存管理
zmq_msg_t生命周期 · HWM高水位溢出 · 多线程泄漏 · Linger选项
09
MQTT协议的内存泄漏
发布/订阅缓冲区 · 重连累积 · 遗嘱消息泄漏 · Paho C库案例
10
WebSocket通信的内存泄漏
帧组装碎片 · ping/pong泄漏 · Close Frame释放 · libwebsocket排查
11
管道与FIFO的内存泄漏
匿名管道缓冲区 · 命名管道打开关闭泄漏 · 写端未关闭阻塞 · popen/pclose配对
12
信号与信号槽的内存泄漏
Unix信号不可靠 · Qt跨线程信号槽 · Boost.Signals2连接管理 · 信号处理动态分配
13
共享内存的锁机制与泄漏
自旋锁 · 读写锁同步 · 互斥锁未释放 · 条件变量配合
14
内存池在IPC中的应用
固定大小内存池 · slab分配器 · 碎片整理 · 线程安全与泄漏检测
15
引用计数与智能指针
shared_ptr在IPC · weak_ptr循环引用 · 原子操作 · 泄漏检测方法
16
RAII在IPC资源管理中的应用
封装共享内存句柄 · 消息队列描述符 · Socket套接字 · Binder代理
17
IPC通信中的循环引用
双向Binder代理 · D-Bus对象树 · gRPC双向流 · 检测与修复
18
IPC超时机制与内存泄漏
Socket超时释放 · 消息队列超时接收 · RPC超时清理 · 超时回调泄漏
19
IPC重连机制与内存泄漏
TCP断线重连累积 · MQTT消息堆积 · gRPC Channel泄漏 · 重连策略影响
20
IPC日志与监控
日志记录泄漏 · 缓冲区溢出 · 监控指标 · Prometheus+Grafana
21
Valgrind检测IPC内存泄漏
memcheck · massif堆分析 · helgrind线程 · IPC场景局限性
22
AddressSanitizer检测IPC泄漏
ASan编译使用 · 共享内存泄漏 · Socket缓冲区 · IPC配置
23
静态分析工具检测IPC泄漏
Clang Static Analyzer · Coverity路径 · SonarQube规则 · 误报漏报
24
动态追踪技术
SystemTap · eBPF跟踪共享内存 · perf record · bpftrace脚本
25
IPC内存泄漏的复现与调试
构造测试用例 · gdb调试 · core dump分析 · strace跟踪系统调用
26
大型项目IPC内存泄漏案例
Android Binder · Chrome IPC · ROS2 DDS · MySQL IPC
27
IPC内存泄漏的预防设计
单元测试 · 统一管理框架 · 代码审查清单 · CI/CD检测
28
跨平台IPC内存管理差异
Linux vs Windows · Android vs iOS · 嵌入式Linux vs RTOS · 云原生
29
IPC内存泄漏的性能影响
延迟影响 · 吞吐量影响 · 系统稳定性 · 容量规划
30
未来趋势与最佳实践
io_uring · C++20协程 · Rust内存安全 · 最佳实践总结