1、首先进入虚拟机,打开终端,这命令行依次敲入以下命令:
cd LinuxKernel
- rm menu -rf //强制删除
- git clone https://github.com/mengning/menu.git //将menu更新
- cd menu
- mv test_fork.c test.c //更新test.c
- make rootfs //运行脚本,自动编译和自动生成根文件系统,同时启动,输入fork命令,子进程和父进程都输出
一切正常的话,这时候我们简易的内核系统就启动起来了,输入help,就可以看到新添加的命令fork,输入fork,
2. gdb上述的fork命令
关闭QEMU窗口,中命令行中输入:
qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S
再次启动MenuOS,并暂停等待gdb调试。
然后水平分割命令行窗口,这新窗口中依次输入以下命令,启动调试:
gdb
file linux-3.18.6/vmlinux
target remote:1234
然后再设置断点:
b sys_clone
b do_fork
b dup_task_struct
b copy_process
b copy_thread
b ret_from_fork
实验代码: