riscv架构的gdb调试
riscv 架构的不能用 ida 反编译,但是 ghidra 可以
工具准备
调试 riscv 架构的程序需要准备专用的 gdb ,https://xpack.github.io/riscv-none-embed-gcc/releases/ 这里面包含各种开发工具,gdb 、gcc 、objdump……(ubuntu 的 gdb-multiarch 不支持 riscv 架构,但是其他一些系统可以)
下载完后解压,进入到 bin 目录下就可以使用 gdb
qemu 的话直接在官网下载
如果安装的 qemu 找不到 riscv 可以参考下这个来安装 https://pdos.csail.mit.edu/6.828/2019/tools.html
调试
qemu-riscv64 -g 2334 '/home/owl/桌面/main'
-g 开放调试端口
./riscv-none-embed-gdb
开启 gdb 后输入如下命令
target remote :2334
file ./main
只能用原版 gdb ,gdb 插件会出错
调试时的一些指令
x /10xi 0x1234
:查看对应的反汇编代码
info registers
:查看寄存器
x /14xb 0x1234
:查看内存
stepi
:单步执行
riscv架构的gdb调试