搭建LINUX KDB调试环境

VirtualBox虚拟机的内核版本:
[root@localhost ~]# uname -r
3.10.0-1127.el7.x86_64
此内核版本已集成KDB功能。

1、虚拟串口
建立1对串口:COM2和COM3。

2、将COM2分配给LINUX系统

3、配置LINUX串口
1. 查看系统是否支持串口
[root@localhost ~]# dmesg | grep tty
[    0.000000] console [ttyS0] enabled
[    0.931818] 00:02: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
2. 在配置文件 /etc/default/grub 中添加以下配置(红色部分)
[root@localhost ~]# cat /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto spectre_v2=retpoline rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,9600"
3. 更新grub配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
更新完成后,重启。
4、经过串口COM3链接LINUX系统
工具 xshell 或 CRT 等。链接成功后,什么都没有,不要奇怪。
能够经过向串口发送消息来测试:
echo helloworld >/dev/ttyS0

5、激活KDB功能
echo kdb,ttyS0,9600 >/sys/module/kgdboc/parameters/kgdboc
6、触发KDB
echo g > /proc/sysrq-triggershell