GDB常用命令

GDB是一个强大的调试工具,能启动程序、设置断点(包括条件断点)、检查程序状态、修改程序并进行单步调试。在准备调试时,需关闭编译器优化选项,开启调试选项如-g。通过设置断点、运行和控制程序流程,以及查看和操作变量,可以帮助开发者有效地定位和修复BUG。
摘要由CSDN通过智能技术生成

GDB调试工具

一.能够完成的功能

1.能够启动程序,随心所欲的运行程序

2.断点调试(断点可以是条件表达式)

3.当程序挺住时,可以检查程序此时发生的事

4.可以改变程序,将一个BUG产生的影响修正从而测试其他的BUG

二.准备工作

在为调试而编译时,我们会()关掉编译器的优化选项(‘-O’),并打开调试选项(‘-g’),-Wall(所有警告)在尽量

不影响程序行为的情况下选项打开所有warning,也可以发现许多的问题,避免一些不必要的BUG。

具体做法

gcc -g -Wall program.c -o program -g 是生成可调试的可执行程序

三.命令 启动GDB/

启动 gdb + 可执行程序

退出 quit

给程序设置参数/获取设置参数

set args 10 20

show args

帮助 help

查看代码文件(默认显示main文件)

list/l

list/l 行号

list/l 函数名

查看指定文件

list/l文件名:行号

list/l文件名:函数名

设置显示的行数

show list/listsize

set list/listsize 行数 set nu如果vim不显示行数用这个命令显示行数

四.断点 GDB断点操作/

设置断点

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 num(自动打印指定变量的值)

i/info display

undisplay 编号

其他操作

set var 变量名=变量值

until (跳出循环)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值