构建调试Linux内核网络代码的环境MenuOS系统

本文基于实验楼在线环境

1.  进入Menuos系统

cd ~/LinuxKernel/
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img

效果如下图:

构建调试Linux内核网络代码的环境MenuOS系统

然后qmeu窗口。

2. 为Menuos添加网络程序

执行命令:

cd ~/LinuxKernel 
git clone https://github.com/mengning/linuxnet.git
cd linuxnet/lab2
make
cd ../../menu/
make rootfs

进入Menuos系统,输入:replyhi,发现程序已被添加到系统中

 构建调试Linux内核网络代码的环境MenuOS系统

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查看断点处的代码:构建调试Linux内核网络代码的环境MenuOS系统

 继续输入hello命令,输出调试信息:构建调试Linux内核网络代码的环境MenuOS系统

 

上一篇:Linux-文件系统-学习笔记(14):根文件系统原理与nfs搭建方法


下一篇:linux