gdb test 启动gdb调试test可执行文件
gdb att 进程名 调试某个进程
b [行数]/[函数名] 新建断点
info b 查看断点信息
set args add-br br1 设置变量
run 启动调试
n(遇到函数不进入) 单步执行
s(遇到函数进入) 单步进去
c 继续执行
q 退出gdb
l 从第一行开始列出源代码
src 显示代码执行视图
输出格式
p/[f] var
x 十六进制显示变量
d 十进制显示
u 十六进制无符号整型
o 八进制
t 二进制
c 字符格式
f 浮点数格式
查看内存地址:
x/[n/f/u] addr
n: 表示显示内存的长度,从当前地址往后显示几个地址的内容
f:显示的格式,字符串->格式为s,指令地址->格式为I
u: 从当前地址往后请求的字节数,默认4个字节
b:单字节 h:双字节 w:四字节 g:8字节
示例 :
x/3uh 0x54320,从内存地址0x54320读取内容,3表示读取3个单位的地址,h表示双字节,每个单位2个字节,u表示按十六进制显示
x/111bx 0xssss:每个单字节以16进制形式显示
显示数组内容
p *array@len