milkv
1
TinyCC Debugging Tool - TinyCC
1. Uploading milkv-duo-tinycc.zip to the development board system installation through SSH
This is a companion discussion topic for the original entry at http://forum.sophgo.com/t/use-tinycc-to-write-c-programs-in-the-milkv-duo-development-board-for-debugging/341
sRGB
2

编辑一个C代码 ,使用命令: vi a.c
int main()
{
int i = 9;
i++;
i*=i;
return i;
}
使用 tcc 编译 a.c,运行程序,使用 echo $?
显示结果
tcc -g a.c
./a.out
echo $?
100
使用 GDB 调试和学习 RISCV汇编代码
- 设置断点:
break main
简写 b main
- 运行程序:
run
简写 r
- 列出源代码:
list
简写 l
- 执行下一行代码:
next
简写 n
- 查看函数变量:
info locals
简写 i locals
- 查看汇编代码:
disassemble
简写 disas
可以 /rm
参数 查看机器代码和源码块
如图,输入红色方框的简写命令,查看了刚才这个程序的RISCV汇编代码和机器代码
GDB 可以使用脚本自动化调试,
- 新建一个
vi x.gdb
,然后使用 gdb -x x.gdb
a.out 自动完成上图显示汇编代码的功能
b main
run
disassemble /rm
alias as=disassemble
# alias gdb="gdb -x x.gdb "
- Shell 环境和 GDB 环境都可以使用
alias
,方便简写命令
- 例如
alias gdb="gdb -x x.gdb "
和 alias as=disassemble