1

我想用 kgdb 调试内核模块,请执行以下操作:

gdb:添加符号文件/home/gaoqiang/kernel-32/fs/ext4/ext4.ko 0xffffffffa0122000 -s .bss 0xffffffffa016b380 -s .data 0xffffffffa0168400

gdb:中断 ext4_getattr gdb:c

我成功到达断点,但 gdb 告诉我:“[No Source Available]”那么如何让 gdb 找到模块的源代码?

4

2 回答 2

1

根据你的问题

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

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

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

于 2013-06-06T06:12:27.920 回答
1
 (gdb)set solib-search-path /home/gaoqiang/kernel-32/fs/ext4/
于 2015-02-10T20:42:06.643 回答