先在启动目录下输入sudo apt installgdb-multiarch安装 在该目录下先创建一个txt文件然后删掉将 《新建文...
1 创建容器docker pull qinchaowhut/xv6-riscv:3.1docker run -v /data/:/home -it qinchaowhut/xv6-riscv:3.1make CPUS=1 qemu-gdb2 登录容器,在另一个terminal输入 gdb-multiarch docker ps docker exec -it co…
窗口1作为xv6的运行窗口。 make CPUS=1 qemu-gdb 窗口2作为gdb调试窗口。 gdb-multiarch kernel/kernel#进入gdb后执行set confirm off set architecture riscv:rv64 set riscv use-compressed-breakpoints yes target remote localhost:25000 一些tips: #调试用户态程序file user/_ls#打开汇编/c源代码窗口,退出ctrl...
执行上述命令后,QEMU将启动xv6,并监听本地的26000端口等待GDB连接。 2. 启动GDB并连接到QEMU 在另一个终端窗口中,启动GDB并连接到QEMU。首先,需要确保使用正确的GDB版本,因为xv6使用的是RISC-V架构。对于RISC-V架构,可以使用riscv64-unknown-elf-gdb或gdb-multiarch。 例如,使用riscv64-unknown-elf-gdb连接到xv6...
1.在 swtch 中设断点。用 gdb 的 stepi 单步调试返回到 forkret 的代码,然后使用 gdb 的 finish 继续执行到 trapret,然后再用 stepi 直到你进入虚拟地址0处的 initicode 操作如下 gdb-multiarch kernel target remote localhost:26000breakproc.c:346 //设置断点在switch中 ...
第四步,在保持第三步的 terminal 不变的情况下,打开一个新的 terminal,调用 gdb 来进入 debug 界面。 Linux 或者 Windows:gdb-multiarch MacOS:riscv64-elf-gdb GDB调试 小结 我们提炼总结一下上面的内容。我们一共安装了四个内容,它们的依赖关系是这样的:首先下载 XV6 源码,然后调用 Risc-V 编译工具编译成二...
sudo apt-getinstall git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu 调试的gbd工具使用方法:在Ubuntu的终端输入这个命令即可 记住端口号,是tcp::26000 另起一个窗口,输入下面命令: 输入file ./kernel/kernel载入符号表,然后target remote loaclhost:26000即...
GDB 调试支持 目前仅支持基于 QEMU 模拟器进行调试。在 kernel 目录下 make qemu-gdb 可以调试我们的内核。安装支持 riscv64 指令集的 gdb 调试器 gdb-multiarch。 sudo apt-get install gdb-multiarchAbout leezhua.github.io/xv6-rust/ Resources Readme Activity Stars 0 stars Watchers 1 watching For...
Xv6 Lab1 环境: Ubuntu 20.04 LTS 一开始没啥好说的,按照官方的文档 https://github.com/mit-pdos/xv6-public https://pdos.csail.mit.edu/6.828/2020/tools.html 执行 sudo apt-getinstall git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu...
Then you can run gdb-multiarch -x ./.gdbinit.tmpl-riscv. Adding a User Program Simply add a C or Zig file that has a main to the src/user/ folder. Then add it to the user_progs array in build.zig. const user_progs = [_]Prog{ .{ .type = <YOUR PROGRAM LANGUAGE>, .name =...