Using dynamic kernel tracing

kprobes is a kernel debugging facility that allows us to dynamically break into almost any kernel function (except kprobe itself) to collect debugging and profiling information non-disruptively. Some architectures keep an array of blacklisted functions, which cannot be probed using kprobe, but on ARM the list is empty.

Because kprobes can be used to change a function's data and registers, it should only be used in development environments.

There are three types of probes:

  • kprobes: This is the kernel probe which can be inserted into any location with more than one kprobe added at a single location, if needed.
  • jprobe: This is the jumper probe inserted at the entry point of a kernel function to provide access to its arguments. ...

Get Embedded Linux Projects Using Yocto Project Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.