使用extract-vmlinux脚本提取,脚本下载地址:linux/extract-vmlinux at master · torvalds/linux (github.com)
./extract-vmlinux ./bzImage > vmlinux
在boot.sh
中加入如下参数
-gdb tcp::[port]
#如下
-gdb tcp::1234
启动boot.sh
gdb ./vmlinux -q
add-symbol-file ./fs/lib/modules/4.4.72/babydriver.ko 0xffffffffc0000000
#第一个参数为符号表地址 第二个参数为kernel基址
#在开启kaslr时,kernel基址不固定,可在qemu的-append参数中增添‘kaslr’
地址可以在文件系统中使用cat /proc/modules
查看
target remote 127.0.0.1:1234
然后在其中下好断点便可以开始调试