Linux Debugging Techniques
Duration : 4 Days
Course Code : DG-L4
This training is targeted primarily at software professionals - tech leads, system programmers /
developers, maintainers and testers whose work on the Linux OS requires of them the ability to
professionally debug (both) applications and/or kernel-space code. Often, a training like this one
emphasises tasks that are carried out on a more-or-less daily basis by the participant; obviously, this
goes a long way to greatly increasing productivity.
The training begins with an introduction to debugging (the story behind the first bug is an
interesting one!) and the debugging process in general. Extremely useful tools (like ctags, cscope),
code static analysis, tracing tools, patch management are delved into. The venerable GNU debugger
gdb is covered in some detail. Memory management and memory leakage are a common source of
hard-to-find bugs; several very useful memory checker tools are covered. The participant will work
on assignments designed to simulate the debugging process using the various tools learned. This
training then changes course to tackle kernel-space debugging problem areas and techniques.
Several tools are covered in this regard; analyzing an Oops dump is covered in depth. Kernel
debuggers (kgdb, kdb) are covered. Kprobes and LTT round off useful kernel-space tools.
Throughout, professional / industry best practices are taught and encouraged.
Prerequisites:
Mandatory :
- Application development experience on this platform.
- Participants should undergo the above Advanced Linux / Unix Application and System Programming (DG-L2) training or have the equivalent knowledge/skill sets.
- A good working knowledge of the 'C' programming language.
Preferable :
- Participants should undergo the above Linux Internals and Device Drivers (DG-L1) training or have the equivalent knowledge/skill sets.
- Shell scripting skills.
Download course coverage details