Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Debugging Linux Kernel in Deep - Part 1
Rating: 4.3 out of 5(292 ratings)
4,103 students

Debugging Linux Kernel in Deep - Part 1

Linux Kernel Debugging Techniques
Created byLinux Trainer
Last updated 11/2020
English

What you'll learn

  • Linux Kernel Debugging Techniques

Course content

6 sections70 lectures6h 18m total length
  • Introduction to Tracing2:09
  • Introduction to ftrace2:14
  • Check Whether ftrace is enabled in kernel5:44
  • Important files in tracefs3:44
  • Enabling a different tracer5:09
  • Function Graph Tracer5:34
  • Filtering functions11:28

    Filter functions to simplify search in kernel tracing, using include and exclude lists, wildcards, and field filters to trace specific functions and measure latency with the function graph tracer.

  • Wildcard Characters in filters2:54
  • Question and Answer1:04
  • ftrace on simple kernel module11:15
  • Enabling and Disabling tracing2:52
  • trace vs trace_pipe3:45
  • Find out what calls made by a kernel function5:52
  • Tracing a specific process6:32

    Trace a specific process by enabling tracing in the shell to capture all system calls, then disable tracing and verify the observed calls with filters.

  • Tracing functions of specific module3:38
  • trace_printk6:32
  • Tracing kernel functions with a particular duration2:49
  • Finding out how user space code gets into kernel2:29

Requirements

  • Should have knowledge in Linux Kernel

Description

A traditional debugger allows you to inspect the system state once the system is halted

i.e., after an error has been detected, but doesn’t reveal the events leading to the error.

To understand why an event took place, the relevant context has to be restored. This requires tracing

Tracing is the process of collecting information on the activity in a working system

With tracing, program execution is recorded during run-time, allowing for later analysis of the trace

Tracing provides developers with information useful for debugging.

In this course, we will be learning ftrace, which is the official tracer of Linux Kernel in deep

What can we do using ftrace?

-----------------------------

Debugging Linux Kernel

Analyzing Latencies in Linux Kernel

Learn and observe the flow of Linux Kernel

Trace context switches

Length of the time the interrupts are disabled

       And many more

Who this course is for:

  • Kernel developers interested to learn various debugging techniques