gdb-notes

#执行程序(gdb启动时没有选择程序名称)

1
(gdb)file test

#运行准备好的程序

1
2
(gdb)run 3
//run 后面是指定的参数

#参数设置

1
set args 3

#查看默认参数

1
show args

#列文件清单

1
2
3
list line1,line2
//简写
l 1, 2

#打印数据

1
2
3
print var
//简写
p var

#计算函数调用返回值

1
p sum(3)

#打印结构体

1
2
p *io
//io为结构体

#设置断点

1
2
3
4
b filename:46
//b filename:linenum
b 46 if i==2

#打印断点信息

1
info break

#删除断点

1
delete b 8

#禁止,允许,清除断点

1
2
3
disable b 9
enable b 9
clean b 9

#单步调试

1
2
3
4
5
6
b 32 //在32行处设置断点
run 3 //运行程序,输入参数为3
n //单步执行
s //进入函数体内部
finish //执行完函数
c //继续执行到下个断点

#调用路径

1
bt

#打印指令处的汇编代码

1
disassemble sum //sum是一个函数

#帮助

1
2
help
help c