1. 环境配置
- 基于VMware安装Ubuntu 22.04系统
- 安装如下软件
sudo apt install -y git build-essential gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu gdb-multiarch qemu-system-misc u-boot-qemu qemu-utils
- 拉取xv6代码
为了避免github访问速度慢的问题,笔者在gitee上Fork了一份代码。原始代码链接为:Github原始仓。 可通过如下命令将代码克隆到本地:
git clone git@gitee.com:ZhangYu-Home/xv6-riscv.git
- 生成compile_commands.json文件用于代码跳转:
bear --output compile_commands.json -- make qemu
2. GDB调试命令记录
-
启动一个终端(终端1),进入xv6代码目录,执行如下命令,进程阻塞,并提示gdb远程端口为26000
make qemu-gdb -
启动另一个终端(终端2),进入xv6代码目录,执行如下命令
gdb-multiarch kernel/kernel -
在终端2执行如下命令,与终端1的远程调试端口连接
target remote localhost:26000 -
在终端2的gdb窗口执行如下打断点的命令
b exec