kprobe vs kretprobe 深度对比
Linux 内核提供了多种动态探测机制,其中 kprobe 和 kretprobe 是最基础也是最常用的两种。它们都允许在运行时向内核函数注入回调,但设计目的和触发时机完全不同。
kprobe:可以在内核任意可探测地址插入断点,提供 pre_handler(指令执行前)和 post_handler(指令执行后)两个回调点。
kretprobe:专门用于函数级别追踪,提供 entry_handler(函数入口)和 handler(函数返回)两个回调点,并内建 per-instance 私有数据通道