Difference between revisions of "Debugging The Linux Kernel Using Gdb"

From eLinux.org
Jump to: navigation, search
m
m
Line 1: Line 1:
 
= Debugging the linux kernels using gdb =
 
= Debugging the linux kernels using gdb =
  
The majority of day to day kernel debugging is done by adding print statements to code by using the famous printk function. Using printk it as it is relatively simple and effective and cheap technique to use. There are many other linux based techniques that take the debugging and profiling approach to a higher level. On this page we will discuss using the gnu debugger to do kernel debugging. Overall starting using gdb to do kernel debugging is relatively easy  
+
The majority of day to day kernel debugging is done by adding print statements to code by using the famous printk function. Using printk it as it is relatively simple and effective and cheap technique to use. There are many other linux grown techniques that take the debugging and profiling approach to a higher level. On this page we will discuss using the gnu debugger to do kernel debugging. Overall starting using gdb to do kernel debugging is relatively easy.
  
+
Most of the examples here will work in two (open source) situations. when using jtag and when using qemu system emulation.
 
+
As the second option does not require any hardware you could go on and try it right away!
jtag/qemu
 
 
 
and work most of the time. One reason for using these ancient techniques this can probably be found in the roots of
 
the Linux kernel (i386) and the tools available to debug those.On the Embedded side
 
we are better served with hardware assisted tools to debug software.
 

Revision as of 07:29, 25 November 2008

Debugging the linux kernels using gdb

The majority of day to day kernel debugging is done by adding print statements to code by using the famous printk function. Using printk it as it is relatively simple and effective and cheap technique to use. There are many other linux grown techniques that take the debugging and profiling approach to a higher level. On this page we will discuss using the gnu debugger to do kernel debugging. Overall starting using gdb to do kernel debugging is relatively easy.

Most of the examples here will work in two (open source) situations. when using jtag and when using qemu system emulation. As the second option does not require any hardware you could go on and try it right away!