Linux kernel 使用ubuntu vm builder调试内核构建

Linux kernel 使用ubuntu vm builder调试内核构建,linux-kernel,network-programming,gdb,kernel,qemu,Linux Kernel,Network Programming,Gdb,Kernel,Qemu,Aim:尝试执行代码演练,了解通过网络发送和接收数据包需要调用哪些函数 我正在构建一个内核,并使用gdb进行调试/跟踪 我已使用以下命令构建vm: time sudo ubuntu-vm-builder qemu precise --arch 'amd64' --mem '1024' --rootsize '4096' --swapsize '1024' --kernel-flavour 'generic' --hostname 'ubuntu' --components 'mai

Aim:尝试执行代码演练,了解通过网络发送和接收数据包需要调用哪些函数

我正在构建一个内核,并使用gdb进行调试/跟踪

我已使用以下命令构建vm:

 time sudo ubuntu-vm-builder qemu precise --arch 'amd64'  --mem '1024'  --rootsize '4096'  --swapsize '1024'  --kernel-flavour 'generic'  --hostname 'ubuntu'  --components 'main'  --name 'Bob'  --user 'ubuntu'  --pass 'ubuntu' --bridge 'br0'  --libvirt 'qemu:///system'
我可以使用以下命令在qemu中成功运行VM:

qemu-system-x86_64 -smp 1 -drive file=tmpGgEOzK.qcow2 "$@" -net nic -net user -serial stdio -redir tcp:2222::22
现在,我想用gdb调试内核。为此,我需要一个带有调试符号的可执行文件(vmlinux),显然我没有,因为vm构建器从未要求任何此类选项,只是创建了一个.qcow2文件

问题1:我是否采取了正确的方法来解决问题,是否有更简单的方法

问题2:有没有一种方法可以使用GDB调试这个内核

附言:我没有KVM的硬件支持

如果我错了,请纠正我

谢谢