gdb理解

GDB是什么

GDB,GNU项目调试器,允许 查看一个程序运行过程中发生了什么?或者是程序崩溃时,他在做什么?
GDB可以做四件事情:

  • 启动程序,指定可能影响其行为的任何内容
  • 是程序在指定条件下停止
  • 当程序停止时,可以检查发生了什么
  • 可以更改程序中的内容,纠正一个错误的影响,并且可以继续了解另一个错误
GDB常用调试命令
命令作用
help查看命令帮助,具体查询方式是help+命令,简写h
run重新开始运行文件,简写r
start单步执行,运行程序,停在第一执行语句
list查看源码,list -n:从第n行开始查看,list+函数名:查看具体函数,简写r
set设置变量的值
next单步调试 (逐过程,函数直接执行),简写n
step单步调试(逐语句,跳进自定义函数内部执行),简写s
backtrace查看函数的调用的栈帧和层级关系,简写bt
frame切换函数的栈帧,简写f
info查看函数内部局部变量的数值,简写i
finish结束当前函数,返回到函数调用点
continue继续运行,简写c
print打印值及地址,简写p
quit退出gdb,简写q
break+num在第num行设置断点,简写b
info breakpoints查看当前设置的所有断点
delete breakpoints num删除第num个断点,简写d
display追踪查看具体变量值
undisplay取消追踪观察变量
watch被设置观察点的变量发生修改时,打印显示
i watch显示观察点
enable breakpoints启用断点
disable breakpoints禁用断点
x查看内存x/20xw 显示20个单元,16进制,4字节每单元
run argv[1] argv[2]调试时命令行传参
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值