讲师自我介绍
谢欢,大家可以叫我Jeff, 我目前就职于某国际知名linux发行版开源公司, 热衷于linux内核。
我平时把linux内核源码当小说一样阅读学习,也一直把能给linux社区贡献更多有质量的代码而努力
Jeff最近给Linux内核提交了系列补丁objtrace,截至目前有了kprobe maintainer的Tested-by 和 Reviewed-by.
Tested-by: Masami Hiramatsu <mhiramat@kernel.org>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
以下是最新patch objtrace源码和邮件列表讨论:
https://github.com/x-lugoo/linux/tree/objtrace-v9
https://lore.kernel.org/all/20220204035644.734878-1-xiehuan09@gmail.com/
课程描述
在我仔细研究Linux内核中的ftrace框架之后,觉得各种tracer(包括function tracer, function graph tracer, kprobe/kretprobe trace_event等)的作用被人们严重低估了,如果能掌握它们的实现原理和很好的利用,不仅对研究学习linux内核庞大的源代码帮助巨大,而且对解决实际工程中遇到的问题都如虎添翼。
你只需使用echo和cat命令,它们就能非常详尽地告诉你内核正在干什么.
比如从函数的角度看,它们会告诉你执行到一个函数时候的call trace,从一个函数开始向下的执行流,函数的执行时间,函数的参数,函数的返回值,甚至一个函数中需要输出的特定信息(便于更细粒度的调试定位问题),而且这些特定信息都是可以过滤和动态触发的。
从一个内核子系统的角度来看,它们能告诉你整个子系统是怎样工作,子系统和子系统之间是怎样协作运行。
本视频课程讲述了以上提到的各种tracer源代码级别的实现原理和使用方法, 演示了各种典型例子, 包括利用它们解决生产环境中的真实案例。
课程大纲
ftrace详细介绍
function tracer和function graph tracer实现原理与应用
kprobe & kretprobe 实现原理与应用
trace event实现原理与应用
ftrace和 trace event综合运用研究块子系统
作业
长按识别二维码了解课程详情及报名