我想用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/