gdb + kvm调试内核
1.编译内核 修改Makefile,修改为-O1 或者-O0 ifdef CONFIG_PROFILE_ALL_BRANCHES KBUILD_CFLAGS += -O1 $(call cc-disable-warning,maybe-uninitialized,) else KBUILD_CFLAGS += -O1 endif 修改虚拟机xml文件 <domain type='kvm' xmlns:qemu=' http://libvirt.org/schemas/domain/qemu/1.0'> ; ...... </devices> <qemu:commandline> <qemu:arg value='-S'/> <qemu:arg value='-gdb'/> <qemu:arg value='tcp::1234'/> </qemu:commandline> </domain> 启动虚拟机 id=balloon0,bus=pci.0,addr=0x9 -S -gdb tcp::1234 -msg timestamp=on 在宿主机上创建目录,拷贝需要调试的内核文件到该目录下,如: vmlinuz-4.14.0-generic vmlinuz-4.14.0-generic: x86 boot sector 4.启动gdb gdb vmlinuz-4.14.0