Skip to content

Linux内核调试

QEMU

OS课上需要用到qemu作为模拟器

Ubuntu 22.04 下安装新版QEMU

Ubuntu 22.04 apt 中的 qemu 只有 6.2 版本

git clone https://github.com/qemu/qemu.git
cd qemu
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build
./configure --target-list=riscv64-softmmu
make -j$(nproc)

在执行./configure这一步时,如果遇到 ubuntu:Python‘s ensurepip module is not found.

sudo apt update
sudo apt install python3-venv

QEMU指定调试端口

qemu的启动选项-s 默认是1234端口, 在gdb里面用target remote :1234 即可。

但是偶尔会遇到1234被占用。报错: qemu failed to find an available port: address already in use

此时可以在启动选项中修改端口。

将-s改成 -gdb tcp::3333 (其中3333可换成你想修改的端口号) 然后gdb也同样修改即可

GDB

Comments