linux 命令之 gdb

gdb命令语法

gdb [options] 

options:

-tui :可以将屏幕分成两个部分,上面显示源代码。

app  :启动gdb后直接载入程序(app是一个可以执行的程序)

更多选项参考man gdb


启动gdb之后的交互命令:交互命令支持[tab]补全

命令                   解释                                     示例                   
file <文件名>加载被调试的可执行程序。                   
如果在调试程序所在目录下执行GDB,文件名不需要加路径       
(gdb)file gdb-sample    
rrun的缩写,运行被调试程序。
如果在这之前有设置断点,则执行到断点处。
没有设置断点就执行完整个程序。
 (gdb) r
llist的缩写。如果不带参数,默认显示当前行和之后的10行。list可以指定的参数如下:
[linenum] 行号。
[filename:linenum] 哪个文件中的哪一行
[function] 函数名
[filename:function]哪个文件中的哪个函数
[*address] 程序运行时的语句在内存中的地址
(gdb) list **0x804859c
地址使用info命令得到
[Enter]执行上次执行的命令键盘上的回车键
n执行一行源程序代码。(Step Over)(gdb) n
s执行一行源程序代码。遇见函数调用会进入函数内部,然后一行行执行(Step Into)(gdb) s
f直到当前函数运行完毕返回再停止(finish)当单步执行进入了某函数,想退出函数时可以使用finish 命令 
bbreakpoint的缩写,设置断点
b[linenum] 
b[function]
b[*adderss]
参考list
ddelete breakpoint 缩写,可以删除指定断点或者所有断点
不指定断点号删除所有点
p<变量名称>print 的缩写,显示指定变量的值,修改运行时变量的值
可以指定显示变量的格式
x  按十六进制格式显示变量。 d  按十进制格式显示变量。 u  按十六进制格式显示无符号整型。 o  按八进制格式显示变量。 t  按二进制格式显示变量。 a  按十六进制格式显示变量。 c  按字符格式显示变量。 f  按浮点数格式显示变量。 
(gdb) print  /x var
#以16进制显示var的值,默认10进制显示
(gdb) print var=4
#把变量var的值改为4
(gdb) print *a@10
#显示数组a中的10个元素
kkill的缩写 。终止程序(gdb) k
set 可以设置语言(gdb) set language c++
## 设置值当前程序语言为c++
show显示部分信息(gdb) show language
##产看当前调试程序的语言环境
whatis显示变量的类型 (gdb) whatis var
ptype以更为详细的方式显示变量的类型(gdb) ptype var
iinfo的缩写,用于显示各类信息,详细参考 “help i‘(gdb)i var
display设置程序中断后显示的数据及格式(gdb)display /i $pc
##以16进制显示汇编指令
undisplay取消display设置(gdb)undisplay 1
ccontinue的缩写,继续执行被调试程序。(gdb)c


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值