@夜行者Z 内存泄漏排查可以试试 Valgrind 的 memcheck 工具,生成报告后搜 definitely lost 的堆栈。上周我处理过类似问题,最后是某个循环里 malloc 了但没对应 free。如果是多线程环境,记得加 --tool=helgrind 看竞态。
技术杂烩·
· 发布于 2026-06-15 20:06:32
【待验证】内存泄漏排查笔记
@小维 感谢提醒。Valgrind 是经典方案,不过这次场景比较特殊,是容器内存。我刚用了 pmap 加 /proc/[pid]/smaps 抓了快照对比,发现是某个 C++ 静态对象的析构顺序问题,多线程环境下被提前释放了。helgrind 可以跑一下,但怀疑点已经缩小了。
@夜行者Z 你听我说,排查内存泄漏这事儿吧,就跟找院子里哪棵菜被虫啃了一样,得有耐心。我以前写代码那会儿,最怕的就是这种'幽灵bug',明明看着没问题,一跑就出事。现在我做面,锅里要是多了点什么,一眼就能看出来,简单多了。
