Linux调试器——gdb的使用

背景

gcc/g++出来的是release版本。要使用gdb调试,要使用gcc/g++ -g选项

调试器的核心工作:主要是为了定位问题

gdb也支持tab键的命令自动补齐

gdb的使用——首先gdb file 进入调试

quit 退出调试

l 1 从第一行开始显示,enter继续显示

r 运行,从上往下有断点运行到断点处

b 13 给13行打断点,此时断点会有编号

b file:13 给文件的13行打断点

b 函数名 给函数打断点 例如:b Swap 同样,此时断点会有编号

b file:main 给文件的main函数打断点

info b 查看断点

d 1删除编号为1的断点

disable breakpoint 2关闭2号断点

enable breakpoint 3打开3号断点

n/next逐过程,遇到函数,不进入函数(VS中F10)

s/stemp逐语句,进入函数(VS中F11)

bt 查看函数调用过程 ,比如a函数调用b函数,b函数调用c函数

进入函数之后也分了n和s

p i 查看i的值

display i 常显示i的值(也支持自定义、结构体、stl类型的数据),此时会有编号(类似打断点),比如进入一个循环后,想一直查看i的值(VS中的监视)

undisplay 3取消编号3的常显示

until 11 在函数内进行指定位置跳转,执行完区间代码(VS中没有) 例如直接跑完7-9行的循环

finish 进入一个函数,只执行完该函数就停下来

c/continue 从一个断点处,直接运行至下一个断点处(对比VS中F5,没断点,运行完,有断点,运行到第一个断点处,再按F5,运行到下一个断点处)

set var n=xxx 设置某一个变量是特定的值,常用在循环、函数中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值