Linux gdb调试

目录

关于调试的理解

gdb相关指令


设置断点的目的:缩小查找范围,调试的正确思路:先确定错误范围,然后再在范围内逐语句执行查找

关于调试的理解

debug:测试版本(可以被调试)
release:成熟版本(不可以被调试)

为什么dbug版本可以被调试呢?
因为编译器在形成可执行程序的时候会给可执行程序添加调试信息

gcc/g++编译时采用release模式
想要以dbug模式编译,要在命令行后面加一个-g

为什么软件版本要分为release和dbug版本呢?
1、用户不需要调试信息,所以只需要release
2、程序员需要调试信息进行调试
所以,分成两个版本

而测试人员测试的是release版本,代表用户

gdb相关指令


启动gdb:gdb XXX.exe

list :查看源代码
quit:退出
l XXX.c:0 #对XXX文件从0行开始查看源代码
l n #查看n行(一般在中间)
i b:查看断点

b n :在n行位置打断点(只能一个一个设置)
d n :删除n号断点
disable n:禁用断点
Enb:使能,表示断点是否被启用s
enable n:启用断点
n(next):逐过程(F10)
s(step):逐语句(F11)
p(print) n:查看变量n
p(print) &n:查看变量n的地址
display n :常显示变量n
undiplay n:取消n号常显示

continue 简写为c:直接运行到下一个断点 
finish:运行完整个函数
until:跳转至指定行,中间的代码已经执行
info (i)local:查看当前栈帧局部变量的值
set var :后面跟要修改变量的值,可以在运行过程中修改
bt:查看调用栈

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十5画生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值