gdb调试器的命令(进出gdb,查看代码/变量/其他信息,不同类型的执行,断点相关,修改变量值)

目录

gdb--调试器

引入

命令 

进入/退出gdb

查看代码/变量/其他信息

list/l(可以缩写)

print / p

display

undisplay

breaktrace

info / i + locals

执行 

run / r

 next / n

step / s

continue

finish

until + 行号

断点

break / b + 行号/函数名

info / i b / breakpoints

delete / d breakpoints(+ 序号)

disable breakpoints

enable breakpoints

修改 

set var + 变量赋值语句


gdb--调试器

引入

  • 程序有两种发布方式,dubug和release
  • 在linux中,默认gcc/g++编译出的二进制程序是release模式
  • 如果要变成dubug模式,需要在编译时加上-g选项
  • 而gdb是linux用于在debug版本下的调试工具

命令 

进入/退出gdb

gdb + 文件名

进入gdb

Ctrl+d  /  quit

退出

查看代码/变量/其他信息

list/l(可以缩写)

默认打印前10行

但有时候打印的内容可能不是我们想象中的那样(汗) ,gdb可能会自己做一些"优化"

print / p

打印表达式/变量的值,只是当前状态下的值

display
跟踪查看一个变量,每次停下来都显示它的值
undisplay
取消对先前设置的那些变量的跟踪
breaktrace
查看各级函数调用及参数
info / i + locals
查看当前栈帧局部变量的值

 

执行 

run / r

运行程序,会在断点处停下

 next / n

单步执行

step / s

进入调用的函数内部

如果使用n,则不会进入调用的函数

当即将进入函数时,输入s即可进入函数

continue
从当前位置开始连续而非单步执行程序
遇到断点停下,否则直接执行到程序结束
finish
执行到当前函数返回的位置(当前位置得在该函数内部),然后停下来等待命令
until + 行号
跳至该行

 

断点

break / b + 行号/函数名

在某一行/函数开头设置断点

info / i b / breakpoints

查看断点信息

delete / d breakpoints(+ 序号)

删除断点

disable breakpoints

禁用断点

该断点还在,但enb(也就是状态被设置为禁用状态:n)

enable breakpoints

启用断点

 

修改 

set var + 变量赋值语句

修改变量的值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值