V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xuelang
V2EX  ›  程序员

没有银弹之:基于 eBPF 的 C/C++ 内存泄漏分析

  •  
  •   xuelang ·
    selfboot · 2023-11-08 17:36:16 +08:00 · 1166 次点击
    这是一个创建于 379 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对于 C/C++ 程序员来说,内存泄露问题是一个老生常谈的问题。排查内存泄露的方法有很多,比如使用 valgrind 、gdb 、asan 、tsan 等工具,但是这些工具都有各自的局限性,比如 valgrind 会使程序运行速度变慢,gdb 需要了解代码并且手动打断点,asan 和 tsan 需要重新编译程序。对于比较复杂,并且在运行中的服务来说,这些方法都不是很方便。

    好在有了 eBPF ,我们可以使用它来分析内存泄露问题,不需要重新编译程序,对程序运行速度的影响也很小。eBPF 的强大有目共睹,不过 eBPF 也不是银弹,用来分析内存泄露也还是有很多问题需要解决,本文接下来就来探讨一下基于 eBPF 检测会遇到的常见问题。


    深入理解基于 eBPF 的 C/C++ 内存泄漏分析

    1. 内存泄露模拟
    2. memleak 分析
      • 调用链不完整
    3. tcmalloc 泄露分析
      • 深入工具实现
      • GDB 堆栈跟踪
    4. 正常内存泄露分析
    5. 内存火焰图可视化
    6. 默认开启帧指针
    7. 参考文章

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:31 · PVG 06:31 · LAX 14:31 · JFK 17:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.