调试内核模块时,KGDB找不到源代码



我想用kgdb调试一个内核模块,按如下操作:

gdb: add-symbol-file/home/高强/kernel-32/fs/ext4/ext4.Ko 0xffffffffa0122000 -s .bss 0xffffffffa016b380 -s .data 0xffffffffa0168400

gdb: break ext4_getattrgdb: c

我成功地到达了断点,但是gdb告诉我:"[No Source Available]"如何获得GDB找到源代码的模块?

根据你的问题

(gdb) add-symbol-file /home/gaoqiang/kernel-32/fs/ext4/ext4.ko 0xffffffffa0122000 -s .bss 0xffffffffa016b380 -s .data 0xffffffffa0168400

我假设模块存在于目录/home/高强/kernel-32/fs/ext4中。如果您的源代码也在目录中,gdb将不会给出错误/警告。

因此,如果ext4.ko模块的源文件说ext4.c,其余的不在该目录中,将它们复制到该目录。

 (gdb)set solib-search-path /home/gaoqiang/kernel-32/fs/ext4/

最新更新