Vmware 调试 Linux Kernel

为什么使用Vmware而不是QEMU 这种模拟器调试呢,我觉得QEMU这种模拟器对于Vmware来说,有些不方便的是

qemu 命令行太复杂:) !!!

 1     Linux Vmware 串口双机调试
 2 ========================================
 3 1.注意,当配置好Vmrare串口后,在各自的串口对应的设备是
 4 /dev/ttyS1,这是最关键的,然后相互cat,echo 看是否能够
 5 收到消息。
 6 2.添加grub 启动项目,设置内核调试参数.
 7 添加额外的内核参数:
 8 kgdboc=ttyS1,115200 kgdbwait nokaslr
 9 
10 menuentry Ubuntu Kernel Debug --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option gnulinux-simple-07472ed4-59a9-4ce4-9fdd-05a662658ac1 {
11     recordfail
12     load_video
13     gfxmode $linux_gfx_mode
14     insmod gzio
15     if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
16     insmod part_msdos
17     insmod ext2
18     set root=hd0,msdos1
19     if [ x$feature_platform_search_hint = xy ]; then
20       search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  07472ed4-59a9-4ce4-9fdd-05a662658ac1
21     else
22       search --no-floppy --fs-uuid --set=root 07472ed4-59a9-4ce4-9fdd-05a662658ac1
23     fi
24         linux    /boot/vmlinuz-5.3.18 root=UUID=07472ed4-59a9-4ce4-9fdd-05a662658ac1 ro  quiet splash $vt_handoff kgdboc=kms,kbd,ttyS1,115200 kgdbwait nokaslr
25     initrd    /boot/initrd.img-5.3.18
26 }
27 3. 启动gdb
28 gdb ./vmlinux
29 dir /home/maojun/kernel/linux-source-5.3.0
30 target remote /dev/ttyS1
31 hb start_kernel
32 
33 停止被调试的机器进入调试器:
34 echo g > /proc/sysrq-trigger
echo c > /proc/sysrq-trigger

 

Vmware 调试 Linux Kernel

上一篇:Eclipse各个版本及区别


下一篇:Linux下离线安装Docker