使用gdb调试QEMU模拟的RISC-V平台程序

我们跑一个裸核程序,也就是不带操作系统的程序,然后使用gdb调试该程序。

首先编译目标程序,然后使用QEMU的kernel参数进行加载

bash 复制代码
qemu-system-riscv64 -s -S -bios opensbi.elf -m 4G -smp 4 -kernel my_program.x -nographic

-s 让QEMU在1234端口侦听gdb的调试连接;

-S 表示启动后就挂起,等待 gdb 连接;

-bios 后面跟opensbi固件程序

-m 后面填写模拟内存大小

-smp 后面跟模拟CPU核心数

-kernel 后面跟要调试程序文件路径

-nographic 表示没有图像界面,只有命令行

然后启动gdb调试

bash 复制代码
$ riscv64-unknown-elf-gdb
(gdb) file my_program.x
(gdb) target remote :1234
(gdb) c

target remote 表示连接远程调试,后面跟上远程地址和端口,本机可省略地址

注意:务必要使用riscv编译工具链里面的gdb

相关推荐
kali-Myon13 小时前
NewStarCTF2025-Week2-Pwn
算法·安全·gdb·pwn·ctf·栈溢出
国科安芯1 天前
抗辐照MCU芯片在低轨商业卫星原子钟中的适配与优化
单片机·嵌入式硬件·fpga开发·架构·risc-v
云澈ovo4 天前
RISC-V 架构适配:开源 AI 工具链的跨平台编译优化全流程(附实战指南)
架构·开源·risc-v
Blossom.1186 天前
用一颗MCU跑通7B大模型:RISC-V+SRAM极致量化实战
人工智能·python·单片机·嵌入式硬件·opencv·机器学习·risc-v
漫谈网络12 天前
KVM创建的虚拟机,虚拟机的网卡是如何生成的
运维·服务器·网络·qemu·虚拟化·kvm
矜辰所致14 天前
沁恒微 RISC-V 芯片开发工具 MounRiver Studio 使用
ide·沁恒微·开发工具·risc-v·mrsii
矜辰所致16 天前
【导航】沁恒微 RISC-V 蓝牙 入门教程目录 【快速跳转】
沁恒微·蓝牙·risc-v·ble·ch585
国科安芯21 天前
AS32S601ZIT2型MCU:基于RISC-V架构的抗辐照设计与试验评估
网络·单片机·嵌入式硬件·fpga开发·架构·硬件架构·risc-v
Eloudy21 天前
全文 -- Vortex: Extending the RISC-V ISA for GPGPU and 3D-Graphics Research
gpu·risc-v·arch
慧都小项22 天前
Parasoft助力RISC-V芯片量产:提供高可靠软件测试方案
软件测试·risc-v·芯片·parasoft