gdb命令集合


gcc的 -g 选项的作用是在可执行文件中加入源代码的信,生成的二进制可执行程序可用gdb来进行调试。 gdb的一些命令如下:

启动、退出、查看代码

# 启动
gdb 可执行程序

# 退出
quit

# 给程序设置参数
set args 10 20

# 获取设置参数
show args

# GDB使用帮助
help

# 查看当前文件代码
# 后续的 / 表示,前后等价
list/l (从默认位置显示)
list/l 行号 (从指定的行显示) 
list/l 函数名(从指定的函数显示)

# 查看非当前文件代码 
list/l 文件名:行号 
list/l 文件名:函数名

# 设置显示的行数
show list/listsize 
set list/listsize 行数

断点操作

# 设置断点 
b/break 行号
b/break 函数名 
b/break 文件名:行号 
b/break 文件名:函数

# 查看断点
i/info b/break

# 删除断点
d/del/delete 断点编号

# 设置断点无效 
dis/disable 断点编号

# 设置断点生效 
ena/enable 断点编号

# 设置条件断点(一般用在循环的位置) 
b/break 10 if i==5

调试命令

# 运行GDB程序 
start(程序停在第一行) 
run(遇到断点才停)

# 继续运行,到下一个断点停 
c/continue

# 向下执行一行代码(不会进入函数体)
n/next

# 变量操作
p/print 变量名(打印变量值) 
ptype 变量名(打印变量类型)

# 向下单步调试(遇到函数进入函数体) 
s/step
finish(跳出函数体) 

# 自动变量操作
display 变量名(自动打印指定变量的值) 
i/info display
undisplay 编号

# 其它操作
set var 变量名=变量值 (循环中用的较多)
until (跳出循环)

多进程调试命令

# 设置调试父进程还是子进程,默认是父进程
set follow-fork-mode parent/child

# 设置调试当前进程的时候,其他进程是否继续进行,默认为on
set detach-on-fork on/off

# 查看当前调试的进程是哪个
info inferior
inferior id

# 使进程脱离GDB调试
detach inferiors id
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值