
linux内核调试分析
文章平均质量分 85
坤昱
这个作者很懒,什么都没留下…
展开
-
bpftrace:简便输出调试信息
bpftrace是一种用于Linux增强型伯克利包过滤器(eBPF)的高级跟踪语言,使用LLVM作为后端将脚本编译为BPF字节码,并利用BCC与Linux BPF系统进行交互,以及现有的Linux跟踪功能:内核动态跟踪(kprobes)、用户级动态跟踪(uprobes)、和跟踪点(tracepoint)。bpftrace语言的灵感来自awkh、C、DTrace和SystemTap等前身跟踪器。上一篇实现了tracepoint定义及函数调用,本篇也以这个示例和官方提供示例为基础讲述。...原创 2022-08-07 22:37:30 · 1090 阅读 · 0 评论 -
tracepoint: 定义函数及调用示例
放置在代码中的跟踪点(tracepoint)提供了一个挂钩来调用您可以在运行时提供的函数(探针)。 跟踪点可以是“on”(一个探针连接到它)或“off”(没有连接探针)。 当跟踪点“关闭”时,它没有任何效果,除了添加微小的时间损失(检查分支条件)和空间损失(在检测函数的末尾为函数调用添加几个字节并添加数据 结构在一个单独的部分)。 当跟踪点“打开”时,每次执行跟踪点时都会在调用者的执行上下文中调用您提供的函数。 当提供的函数结束执行时,它返回给调用者(从跟踪点站点继续)...原创 2022-08-07 13:51:13 · 1061 阅读 · 0 评论