目的:通过可视化环境,单步调试linux内核 开发环境:ubuntu20.04
step1:安装java环境
Eclipse运行依赖jave环境;
sudo apt install openjdk-13-jre
step2:安装Eclipse-CDT
官网:http://www.eclipse.org/cdt/
step3:配置Eclipse-CDT
(1)创建工程
在Eclipse菜单选择File->New->Project,选择Makefile Project with Exiting Code,即可创建一个新工程;
(2)配置调选项
选择Eclipse菜单中的Run->Debug Configurations, 弹出Debug configurations 在Main选项卡配置带符号表信息的vmlinux
(3)debugger选项卡,配置
Debugger:gdbserver GDB debugger:gdb-multiarch
debgger option, Connection选项卡,配置
Host name or IP address:localhost Port number:1234
step4:进行单步调试Linux内核
主机端运行qemu仿真系统
qemu-system-aarch64 -machine virt -cpu cortex-a57 -machine type=virt -m 1024 -smp 1 -kernel arch/arm64/boot/Image --append "rdinit=/linuxrc root=/dev/vda rw console=ttyAMA0 loglevel=8" -nographic --fsdev local,id=kmod_dev,path=$PWD/k_shared,security_model=none -device virtio-9p-device,fsdev=kmod_dev,mount_tag=kmod_mount -S -s
启动Eclipse,选择Run->Debug History, 在Debugger Console选项卡输入file vmlinux导入调试文件的符号表;输入set architecture aarch64命令,设定GDB支持ARM64架构: 在Console设置断点,b start_kernel; 输入c运行; 配置完成,便可在Eclipse可视化环境,进行linux内核单步调试; Eclipse比GDB命令直观很多,可以方便查看参数,局部变量,寄存器值等;
|