A script that used by GDB to load the symbols from Linux kernel modules

Hui Zhu teawater@gmail.com
Thu Aug 18 08:25:00 GMT 2011


Add a menu for select directory and a check.

Thanks,
Hui

On Wed, Aug 17, 2011 at 13:45, Hui Zhu <teawater@gmail.com> wrote:
> Hi,
>
> When use GDB to debug or trace your kernel with KGDB, QEMU debug
> interface or KGTP.  You must get some trouble with LKM symbols.  For
> example:
> (gdb) target remote localhost:12345
> Remote debugging using localhost:12345
> native_safe_halt () at
> /home/teawater/big/kernel/linux-2.6/arch/x86/include/asm/irqflags.h:50
> 50      }
> (gdb) b e100_poll
> Function "e100_poll" not defined.
> Make breakpoint pending on future shared library load? (y or [n])
> This is because GDB didn't get the LKM symbols.  You can do it with
> your hand.  But if you have a lot of LKMs, it will need some time.
>
> Now, GDB support python script.  The attachment is a script to load
> all symbols from Linux kernel modules to GDB.
> For example:
> (gdb) target remote localhost:12345
> Remote debugging using localhost:12345
> native_safe_halt () at
> /home/teawater/big/kernel/linux-2.6/arch/x86/include/asm/irqflags.h:50
> 50      }
> (gdb) so ~/kernel/svn/branches/teawater/getmod.py
> (gdb) b e100_poll
> Breakpoint 1 at 0xc889db40: file
> /home/teawater/big/kernel/linux-2.6/drivers/net/e100.c, line 2165.
>
> This script will include in KGTP(https://code.google.com/p/kgtp/) source.
>
> Thanks,
> Hui
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: getmod.py
Type: text/x-python
Size: 3813 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb/attachments/20110818/9e59521c/attachment.py>


More information about the Gdb mailing list