迫于被名词所困,分享一下自己对 Linux 下动态调试工具概念的理解
資深大佬 : feather12315 6
对于 ftrace 、tracepoint 、kprobe 等名词,简单地划分三个层次:
- 数据获取方式
4+1 类:kprobe / uprobe / tracepoint / USDT / <基于硬件实现的计数器>
- 数据传递手段
3 类机制:ftrace / perf_event_open() / eBPF 其中ftrace又有tracer,ftrace-based events(tracepoint-based / kprobe-based, uprobe-based / perf events)
- 用户前端工具
基于上述数据获取方式、传递手段实现的 systemtap,perf,bcc 等
自己写的 blog 原文:Linux 动态追踪工具一览
特别推荐的参考资料:
- lwn.net: Unifying kernel tracing
- Julia Evans Blog: Linux tracing systems & how they fit together
- Slides: Unified Tracing Platform Bringing tracing together
大佬有話說 (0)