環(huán)境:
操作系統(tǒng) ubuntu 22.04
實際開發(fā)在wsl2下
xv6項目調(diào)試需要
安裝的gdb版本,gdb 13.2
https://mirrors.tuna.tsinghua.edu.cn/gnu/gdb/?C=M&O=D
image.png
安裝步驟
sudo apt-get install libncurses5-dev python python-dev texinfo libreadline-dev
sudo apt install libgmp-dev
tar -zxvf gdb-13.2.tar.gz
cd gdb-13.2
mkdir build
cd build
臨時禁用anaconda
conda deactivate
which python3
sudo apt install python3-dev
返回 /usr/bin/python3
繼續(xù)在build目錄下
../configure --prefix=/usr/local --with-python=/usr/bin/python3 --target=riscv64-unknown-elf --enable-tui=yes
make clean
make -j$(nproc)
sudo make install
在/home/usrname/.gdbinit下
image.png
鍵入項目目錄下的.gdbinit的絕對地址
我這里是
/home/wsl2_ubuntu_2204/workspace/xv6-labs-2020/.gdbinit
測試
在第一個shell下
make qemu-gdb # 在 XV6 目錄下運行(會自動生成 kernel/kernel)
或
make CPUS=1 qemu-gdb
第二個shell
echo "add-auto-load-safe-path /home/wsl2_ubuntu_2204/workspace/xv6-labs-2020/.gdbinit" >> ~/.gdbinit
啟動gdb
riscv64-unknown-elf-gdb kernel/kernel
在gdb下運行
target remote localhost:26000
輸出0x0000000000001000 in ?? ()