1 环境
- Ubuntu 20.04
- VMware Worksation 16 Player
- Linux Kernel 5.4.0
2 设置虚拟机
2.1 准备两台虚拟机
- 准备一台虚拟机,然后克隆一台虚拟机,
- 下面以左边为客户端和右边为目标机展示.

2.2 配置虚拟机
- 配置串口
- 配置客户机(左边客户端)和目标机(右边服务器端)

\.\pipe\com_1
- 配置好后,请使用如下图方式验证

2.3 配置服务器端grub
- 配置好串口后请打开服务器端grub,添加如下的信息.
sudo vim /etc/default/grub update-grub

continuing. warning: cannot insert breakpoint 1. cannot access memory at address 0xffffffff8289fd70
- 如果出现上面的错误,请在
GRUB_CMDLINE_LINUX 上添加nokaslr , 然后更新grub.
3 配置内核KGDB
- 基本内核信息都会默认满足KGDB信息, 请自行查看资料, 这里不再赘述
4 调试内核
echo g > /proc/sysrq-trigger
gdb vmlinux target remote /dev/ttyS1 b _do_fork c  
|