构建调试Linux内核网络代码的环境MenuOS系统
作者:互联网
本文基于实验楼在线环境
1. 进入Menuos系统
cd ~/LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img
效果如下图:
然后qmeu窗口。
2. 为Menuos添加网络程序
执行命令:
cd ~/LinuxKernel git clone https://github.com/mengning/linuxnet.git cd linuxnet/lab2 make cd ../../menu/ make rootfs
进入Menuos系统,输入:replyhi,发现程序已被添加到系统中
3. 在调试模式下调试网络程序
在一个终端中执行命令:
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S # 加上了-s和-S参数
之后在另一个终端中执行:
gdb file ~/LinuxKernel/linux-5.0.1/vmlinux break sys_socketcall target remote:1234 c list
输入replyhi命令,再输入list查看断点处的代码:
继续输入hello命令,输出调试信息:
标签:Menuos,Linux,MenuOS,LinuxKernel,cd,内核,linux,输入,rootfs 来源: https://www.cnblogs.com/hujisha/p/12014170.html