摘要: 我们只需要 GDB 的辅助调试脚本,不需要下载或编译整个庞大的项目,直接提取其中的 Python 脚本文件即可。 1. 克隆仓库到本地 为了节省下载时间和空间,建议使用浅克隆(--depth=1),并将仓库放置在专门的 ~/.gdb 目录中: mkdir -p ~/.gdb git clone ht 阅读全文
posted @ 2026-08-13 14:39 BlackSnow 阅读(4) 评论(0) 推荐(0)
摘要: 1. 问题背景与现象 在银河麒麟(Kylin OS)等 Linux 系统中,使用自定义安装的 Qt6(如 Qt 6.2.4)进行 C++ 桌面应用程序开发时,经常遇到以下中文输入法兼容性问题: 现象:系统自带的其他软件可正常使用搜狗输入法/Fcitx 框架,但 Qt6 应用程序在聚焦输入框时,右下角 阅读全文
posted @ 2026-08-11 14:18 BlackSnow 阅读(58) 评论(0) 推荐(0)
摘要: 为了彻底理顺这层关系,现代继电保护和测频装置的计算流水线是严格分层与解耦的。以下是该架构的标准化整理: 粗糙幅值计算(固定窗): 基于固定的 20ms(或 16.67ms)采样窗,使用时域 True RMS 或定频 DFT 算出粗糙的电压幅值 \(U_{rough}\)。 执行安检(低压闭锁): 对 阅读全文
posted @ 2026-07-27 14:48 BlackSnow 阅读(7) 评论(0) 推荐(0)
摘要: realloc 是 C 语言里最容易被“会用但用错”的函数之一 尤其你现在在做 内存监测 / eBPF / 泄漏分析,如果对 realloc 理解不够深,监测模型一定会出 bug 一、一句话工程级定义(先记住) realloc** 的本质不是“扩容”, ****而是: **“在保持已有数据前提下,重 阅读全文
posted @ 2026-06-02 00:43 BlackSnow 阅读(12) 评论(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 阅读(8) 评论(0) 推荐(0)
摘要: 如何实现内存泄漏检测呢 创建一个map:live_allocs 申请内存向里面写入数据 以申请到的内存地址为key (后面实现fork发现这有问题,你觉得会是什么问题?如何解决?) 释放内存删除数据 进程退出前 遍历这个map 剩下的未释放的内存 就是内存泄漏 实现细节见视频 阅读全文
posted @ 2026-06-02 00:42 BlackSnow 阅读(8) 评论(0) 推荐(0)
摘要: 这个专题学完 你就知道如何在Linux系统中写一个CLI工具 如何基于ebpf写一个ebpf工具 前面提到:skeleton的流程是:open → load → attach 能不能把attach从流程中解耦出来 需要的时候再attach 或者再细一点 想监控哪个函数就attach那个函数 还有进程 阅读全文
posted @ 2026-06-02 00:41 BlackSnow 阅读(13) 评论(0) 推荐(0)
摘要: 这个专题学完 你就知道用户态如何给ebpf端传承 后面自己写工具 根据需求选择用哪种方式 一般来说 监测工具只监测某个进程 而监测的工作是由eBPF端负责的 要监测的进程pid在用户态 就涉及到用户态给eBPF端传递数据的问题 用户态给eBPF端传数据,有三种方式 1、attach时传 2、roda 阅读全文
posted @ 2026-06-02 00:40 BlackSnow 阅读(13) 评论(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 阅读(19) 评论(0) 推荐(0)
摘要: 下面把 eBPF Ring Buffer(BPF_MAP_TYPE_RINGBUF) 相关的 核心 API 按 内核侧(BPF 程序) 和 用户态(libbpf) 系统列出来,并标注典型用法与注意点。 注意:Ringbuffer写满了就不会再写入数据 一、内核侧(eBPF 程序)API 头文件:#i 阅读全文
posted @ 2026-06-02 00:37 BlackSnow 阅读(34) 评论(0) 推荐(0)