XV6环境搭建及注意事项

Ubuntu16.04SLT 64位

工具链

sudo apt-get install gcc-multilib

libsdl1.2-dev, libtool-bin, libglib2.0-dev, libz-dev, and libpixman-1-dev.

 

 

下载lab进行make编译

 

 

下载qemu进行编译

git clone http://web.mit.edu/ccutler/www/qemu.git -b 6.828-2.3.0

 

编译的时候首先需要指定目录

./configure --disable-kvm [--prefix=PFX] [--target-list="i386-softmmu x86_64-softmmu"]

 

PFX为指定的目录

然后 make && make install

 

在lab的GNUmakefile需要修改QEMU的路径

 

 

可以通过命令make qemu启动

启动非图形界面,可以使用make qemu-nox

 

 

 

离开界面使用 Ctrl+a x

 

 

 

调试操作系统(开两个窗口)

make qemu-gdb (or make qemu-nox-gdb).

In the second terminal, from the same directory you ran make, run make gdb or gdb You should see something like this,

 

现在就可以调试了,使用si进行单步调试

BootLoader开始执行的地方You can set address breakpoints in GDB with the b command. For example, b *0x7c00

 

记得修改配置

将下面的语句放到/home/kexinxin/.gdbinit

add-auto-load-safe-path /home/kexinxin/6.828/xv6-public-test/.gdbinit

替换为xv6的路径

 

 

 

注意默认只能调试内核代码,要调试用户代码需要在gdb中使用语句file _filename,以调试sh.c为例

file _sh

这样的话就不能调试内核代码,只能调试用户代码,要切换回去的话,使用

file kernel

注意来回切换的时候断点会被清除,因此需要重新设置断点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值