GDB

编译的时候加-g选项

gdb 可执行程序

list/l:list 1 列出源码,继续list或者回车向下查看程序

break/b:b 20 在20行位置设置断点

delete/d:d 断点号 删除断点,注意不是行号

run/r:运行程序

next/n:下一条指令(会越过函数)

step/s:单步调试(会进入函数)

print/p:p i 查看变量的值,注意变量作用域

continue/c:继续执行断点后续指令

quit/q:退出gdb调试

其他指令:

使用run查找段错误出现位置,会停留在段错误地方

start:启动调试

finish:结束当前函数, 返回到函数调用点

set args:设置main函数命令行参数,例如set args aa bb cc ,在start之前

run 参数1 参数2  ...:设置命令行参数

info/i b:查看断点信息

设置条件断点:b 100 if i=5,for(int i=0;i<10;i++);//第100行代码

ptype 变量:查看变量类型,注意变量的作用域

backtrace/bt:列出当前程序正存活的栈帧

frame/f 编号:切换函数的栈帧

display 变量:跟踪变量

undisplay 编号:取消设置跟踪变量,使用变量的编号,而不是变量名

 

常见错误:

1.编译的时候没有加-g选项,导致使用gdb调试时报错。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值