摘要:
realloc 是 C 语言里最容易被“会用但用错”的函数之一 尤其你现在在做 内存监测 / eBPF / 泄漏分析,如果对 realloc 理解不够深,监测模型一定会出 bug 一、一句话工程级定义(先记住) realloc** 的本质不是“扩容”, ****而是: **“在保持已有数据前提下,重 阅读全文
posted @ 2026-06-02 00:43
BlackSnow
阅读(9)
评论(0)
推荐(0)
摘要:
如何你想实现符号化调用栈 你得拿到调用栈信息 如何拿呢 eBPF端这样拿 struct { __uint(type, BPF_MAP_TYPE_STACK_TRACE); __uint(max_entries, 16384); __type(key, u32); __type(value, u64[ 阅读全文
posted @ 2026-06-02 00:42
BlackSnow
阅读(7)
评论(0)
推荐(0)
摘要:
如何实现内存泄漏检测呢 创建一个map:live_allocs 申请内存向里面写入数据 以申请到的内存地址为key (后面实现fork发现这有问题,你觉得会是什么问题?如何解决?) 释放内存删除数据 进程退出前 遍历这个map 剩下的未释放的内存 就是内存泄漏 实现细节见视频 阅读全文
posted @ 2026-06-02 00:42
BlackSnow
阅读(6)
评论(0)
推荐(0)
摘要:
这个专题学完 你就知道如何在Linux系统中写一个CLI工具 如何基于ebpf写一个ebpf工具 前面提到:skeleton的流程是:open → load → attach 能不能把attach从流程中解耦出来 需要的时候再attach 或者再细一点 想监控哪个函数就attach那个函数 还有进程 阅读全文
posted @ 2026-06-02 00:41
BlackSnow
阅读(8)
评论(0)
推荐(0)
摘要:
这个专题学完 你就知道用户态如何给ebpf端传承 后面自己写工具 根据需求选择用哪种方式 一般来说 监测工具只监测某个进程 而监测的工作是由eBPF端负责的 要监测的进程pid在用户态 就涉及到用户态给eBPF端传递数据的问题 用户态给eBPF端传数据,有三种方式 1、attach时传 2、roda 阅读全文
posted @ 2026-06-02 00:40
BlackSnow
阅读(9)
评论(0)
推荐(0)
摘要:
函数bpf_get_current_pid_tgid得到的是进程id与线程id 前面的代码 存储日志是以pid为key 考虑到以后支持多线程 将存储日志的key改成进程id+线程id 具体操作,看视频 bpf_get_current_pid_tgid() 是 eBPF 里最常用、但也最容易被误解的 阅读全文
posted @ 2026-06-02 00:38
BlackSnow
阅读(11)
评论(0)
推荐(0)
摘要:
下面把 eBPF Ring Buffer(BPF_MAP_TYPE_RINGBUF) 相关的 核心 API 按 内核侧(BPF 程序) 和 用户态(libbpf) 系统列出来,并标注典型用法与注意点。 注意:Ringbuffer写满了就不会再写入数据 一、内核侧(eBPF 程序)API 头文件:#i 阅读全文
posted @ 2026-06-02 00:37
BlackSnow
阅读(16)
评论(0)
推荐(0)
摘要:
完整来看,eBPF 的数据保存方式可以按用途模型来分,而不是按 API 名字死记。 下面我给你一套工程级分类 + 对应使用场景,基本覆盖 99% 的 eBPF 工具设计。 一、事件流(Event Stream)——“一条条往外吐” 1️⃣ Ring Buffer(推荐,现代首选) 内核 → 用户态的 阅读全文
posted @ 2026-06-02 00:36
BlackSnow
阅读(9)
评论(0)
推荐(0)
摘要:
前面咱们不是提过ebpf函数取参数的问题 int uprobe_malloc(struct pt_regs *ctx) malloc的函数原型 void *malloc(size_t size); 那能不能写成 int uprobe_malloc(size_t size) 这样取参数多方便 我就想起 阅读全文
posted @ 2026-06-02 00:35
BlackSnow
阅读(14)
评论(0)
推荐(0)
摘要:
这是一个非常关键的概念性问题,而且你前面已经把 “非 skeleton 的 libbpf loader” 全部拆完了—— 现在来讲 skeleton,刚好是“从原理到工程”的闭环。 我按 一句话定义 → 本质 → 它解决了什么问题 → 它到底帮你干了什么 → 什么时候该用 / 不该用 → 课堂总结 阅读全文
posted @ 2026-06-02 00:33
BlackSnow
阅读(22)
评论(0)
推荐(0)

浙公网安备 33010602011771号