boxes_img2

Linux Kernel

Debugging
 

Course Description

This is a weekend course specifically designed for Linux Kernel Programmers who are looking for an in-depth coverage on kernel debugging tools and techniques. This course attempts to cover various debugging scenarios and throws light on effective debugging methods.

Course Duration

  • 4 days (Conducted on Weekends)

Course Timing

  • 10am to 5pm

Courses Contents:

    Introduction to Debugging

  • different debugging techniques
  • using gdb
  • debugging symbols
  • setting breakpoints
  • setting watch points
  • info line and list
  • disassemble
  • add-symbol-file
  • ptype
  • print
  • x
  • step
  • next
  • info locals
  • info files
  • info registers
  • backtrace
  • info breakpoints
  • clear
  • delete
  • info frames
  • frame
  • gdb scripts
  • Kernel configuration for kernel debugging

    printk and syslogd

  • introduction to printk
  • how it works
  • modifying printk buffer size
  • printk loglevels
  • kernel parameters debug, queit, loglevel
  • remote rsyslogd
  • Dynamic Kernel Debugging

    kprobes, jprobes and kretprobes

    OOPS and Panic

    KDB

  • introduction
  • how it works
  • Settig up the kdb on same machine
  • triggering kdb
  • explain all commands
  • show how to print data and use pahole
  • using breakpoints
  • setting and triggering kdb at boottime
  • earlyprintk and early kdb
  • adding own kdb commands

    KGDB and KDB over serial console

  • introduction
  • big picture
  • what is required to setup kgdb or kdb over serial
  • setup the kgdb and use gdb to debug the kernel
  • analyse oops using gdb
  • set breakpoint at any given point and do step by step using gdb
  • try to print some of important data structures
  • Setting breakpoint at module init routine
  • debugging module init routine
  • Netconsole

  • introduction
  • how it works
  • Bigpicutre
  • Setting up netconsole
  • using nc, socat, syslogd to capture netconsole messages
  • Kmemleak

  • introduction
  • setting it up
  • introduction to debugfs
  • mounting debugfs
  • using kmemleak to find kernel memory leaks
  • live debugging using gdb with /proc/kcore

    ftrace

  • introduction
  • enabling ftrace and setting it up
  • available tracers
  • controlling tracing
  • setting ftrace filters
  • stack tracing
  • trace-cmd
  • kernelshark
  • trace_printk
  • Debugging Soft lockups and Hard lockups

    Debugging Hung Tasks

    Static Analysis using sparse

    Kernel Debugging using KGTP

    Persistent Storage(pstore) to get oops and panic logs

    Trace events

  • >> Classroom
    • Course Name :
      Linux Kernel Debugging
    • Next batch schedule :
      To Be Announced
    • Class Timing :
      10am to 5pm
    • Course Duration :
      4 days (Conducted on Weekends)
    • Course Fee :
      Rs.9,000/-
  • >> Audio/Video
    • Course Name :
      Mastering Data Structures
    • Next batch starts :
      Not Available
    • Class Timing :
      Not Available
    • Course Duration :
      Not Available
    • Course Fee :
      Not Available
  • >> Online

Course feedbacks