1.在虚拟机中找到模块的加载后的地址
cat /sys/module/module_name/sections/.text
cat /sys/module/module_name/sections/.data
cat /sys/module/module_name/sections/.bss
注释:module_name是相应模块的名称
可能返回的结果如下:
0xffffffffa022a000
0xffffffffa026e000
0xffffffffa0273d40
2.在宿主机中加载符号表
gdb界面中:(在这里认为已经连上内核了)
add-symbol-file /sys/modules/linux/linux.ko 0xffffffffa022a000 -s .data 0xffffffffa026e000 -s .bss 0xffffffffa0273d40
注释:
第一个地址0xffffffffa022a000是从.text里面打印的,后面的也是对应段的地址
本文介绍了如何在虚拟机中找到可加载内核模块加载后的地址,并在宿主机中通过GDB加载符号表进行调试。首先,在虚拟机中查找模块的加载地址,然后在GDB界面连接内核并加载相应的符号表,以便于进行内核模块的调试工作。
1030

被折叠的 条评论
为什么被折叠?



