# tinygdb **Repository Path**: BookOS/tinygdb ## Basic Information - **Project Name**: tinygdb - **Description**: a tiny gdb for bookos - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-28 - **Last Updated**: 2023-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GDB for BookOS/NXOS 目前支持的命令: # continue # info 1. info registers|reg 展示通用寄存器 2. info breakpoints | bp 显示当前已经添加的断点 # set 1. set $[reg_name]=value 例如 set $ra=0x100000000 2. set {char|short|int|long} address = value 上述分别对应对长度为8,16, 32, 64 bits的数据进行修改,value默认接收有符号数 # x x / address n:是正整数,表示需要显示的内存单元的个数,即从当前地址向后显示n个内存单元的内容, 一个内存单元的大小由第三个参数u定义。 f:表示addr指向的内存内容的输出格式,s对应输出字符串,此处需特别注意输出整型数据的格式: x 按十六进制格式显示变量. d 按十进制格式显示变量。 u 按十进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 c 按字符格式显示变量。 f 按浮点数格式显示变量。 目前只支持x u:就是指以多少个字节作为一个内存单元-unit,默认为4。u还可以用被一些字符表示: 如b=1 byte, h=2 bytes,w=4 bytes,g=8 bytes. :表示内存地址。默认接收有符号数 # break|b 添加断点 break|b address address默认为无符号64位整数 # delete 删除断点 delete num 删除第num个断点,num是info bp展示的断点编号 # stepi 单步执行一条汇编语句 # backtrace | bt 打印函数调用链