6
votes

I am following the guide below: https://www.kernel.org/doc/Documentation/gdb-kernel-debugging.txt

When I try to load the module symbols using the command below: (gdb) lx-symbols

gdb says that the command is undefined. How do I add these helper command to gdb?

gdb info: gdb-7.6.1-51.el7.x86-64 on Centos 7.0

3
what does (gdb) apropos lx show - Milind Dumbare

3 Answers

4
votes

You have to get the latest kernel sources (may be 4.0-rc4) or backport the patch. Basically see if you have script/gdb/ directory like this in your kernel sources. Because that is where you get these scripts.

Then you follow the steps mentioned in https://www.kernel.org/doc/Documentation/dev-tools/gdb-kernel-debugging.rst

1
votes

add-auto-load-safe-path

Usage:

gdb -ex add-auto-load-safe-path /path/to/linux/kernel/source/root

Now the GDB scripts are automatically loaded, and lx-symbols is available.

Here is a minimal fully automated Buildroot + QEMU example with detailed instructions.

0
votes

I also faced similar issue. In my case the issue raised because i haven't set the auto-load safe-path to ../scripts/gdb/vmlinux-gdb.py. so i created ~/.gdbinit file added

add-auto-load-safe-path path/to/linux/kernel/tree/scripts/gdb/vmlinux-gdb.py