终端1 切换目录到xv6目录下
终端1 输入make qemu-gdb,可以看到端口号<tcp::25502>
终端2 输入riscv64-unknown-elf-gdb kernel/kernel
终端2 输入target remote localhost:端口号
终端2 输入file 文件路径,例如file user/_primes
终端1 输入命令运行终端2中的文件
终端2 设置断点并单步运行
gdb调试命令
b 断点位置 #设置断点,断点位置可以是函数名、行数
start #开始调试,停在第一行代码处
c #coutinue继续执行被调试程序,直至下一个断点或程序结束
s #step执行一行源程序代码,如果此行代码中有函数调用,则进入该函数
si #执行一条汇编指令,区别于c语言指令s
n #next执行一行源程序代码,此行代码中的函数调用也一并执行,不进入函数
finish #跳出函数
p [var] #print显示变量值
q #退出gdb调试环境
xv6调试
于 2022-03-02 23:27:02 首次发布