常用的调试手段
反汇编
objdump
以rtos为例,编译后会生成RTOSDemo.elf。elf文件里面是带有符号表信息的,也可以用于启动。通过gcc工具链(objdump)反汇编该文件,生成反汇编文件(dis)用于调试
riscv32-unknown-elf-objdump -d -M no-aliases,numeric RTOSDemo.elf > RTOSDemo.disdis文件内容:

可以从elf文件中直接提取bin文件,用于直接启动
riscv32-unknown-elf-objcopy -O binary RTOSDemo.elf RTOSDemo.binRadare2
Radare2(常简写为 r2)是一款开源的、跨平台的逆向工程框架和二进制分析工具套件,以其命令行驱动、高度可定制和脚本化的特性著称
使用如下指令分析文件:
r2 RTOSDemo.elf默认可以使用AAA指令执行自动分析所有符号表
cutter
Cutter 是一款基于 Rizin(由 Radare2 分支而来)的现代化、开源的逆向工程平台和反汇编工具。它提供了图形用户界面(GUI),使得逆向工程任务更加直观和高效,尤其适合不习惯纯命令行操作的用户。
使用如下指令分析文件:
cutter RTOSDemo.elf界面如下:
