一、使用kgdb
1、更新xml让tcp的1234端口可以被监听
virsh shutdown domain
virsh list
virsh undefine domain --nvram
vim *.xml
1、找到domain指令并添加选项xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'。
<domain type='kvm'
xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' >
2、qemu:commandline在里面添加一个新标签,domain这将允许我们在启动时将参数传递给此客户的 QEMU。
<domain type='kvm'
xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' >
<qemu:commandline>
<qemu:arg value='-s'/>
</qemu:commandline>
3、保存文件并退出编辑器。某些版本的 libvirt 可能会抱怨 XML 具有无效属性;忽略这一点并保存文件。libvirtd 守护进程不需要重新启动。如果来宾已经在运行,则需要销毁并重新启动它。
该-s参数是 的缩写 -gdb tcp::1234。如果你有很多来宾需要在不同的端口上调试,或者已经有一个服务在主机的 1234 端口上运行,你可以在域 XML 文件中设置端口,如下所示。
<qemu:commandline>
<qemu:arg value='-gdb'/>
<qemu:arg value='tcp::