linus调试器---gdb的操作介绍

目录

一.背景

二.gdb的常用的操作介绍

小技巧:gdb会记住上一次的命令,按回车即可打出上次的命令。

1.看代码

2.打断点

3.删断点

4.禁用与开启断点

5.查看断点信息

6.调试

7.调试

8.查看变量

9.运行至某行

10.打印变量值

11.从一断点直接运行带下一个断点处

12.更改变量值

13.执行到当前函数返回,然后挺下来等待命令

14.退出gdb


一.背景

程序的发布方式有两种,debug模式和release模式

Linux gcc/g++出来的二进制程序,默认是release模式

要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项

如:有一文件test.c, 正常我们形成可执行程序是 gcc -o mybin test.c

此操作形成的mybin是release模式,如果想要形成可执行程序mybin是debug模式则要写成

gcc -o mybin test.c -g

二.gdb的常用的操作介绍

小技巧:gdb会记住上一次的命令,按回车即可打出上次的命令。

1.看代码

l 行数 。一般用 l 0来看代码

效果:

2.打断点

b 行数/b 函数名/ b 文件名:行数/b 文件名:函数名。每一个断点都有编号,每次编号只出现一次。

3.删断点

d 断点编号

4.禁用与开启断点

enable 断点编号:开启该断点编号的断点

disable 断点编号:禁用该断点编号的断点

5.查看断点信息

info b

6.调试

n:逐过程(如VS的F10)

s:逐语句(会进函数,如VS的F11)

7.调试

r

8.查看变量

display 变量名/变量地址。此操作后,每次 n/s 都会打印 变量名/变量地址,要取消则:

undisplay 变量名/变量地址。

9.运行至某行

until 行数

10.打印变量值

p 变量名

11.从一断点直接运行带下一个断点处

c

12.更改变量值

set var 变量名 = 想要更改的值/set 变量名 = 想要更改的值

13.执行到当前函数返回,然后挺下来等待命令

finish

14.退出gdb

quit/ctrl+d

相关推荐
夜听莺儿鸣18 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
杨云龙UP19 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技20 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy64820 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩21 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well061221 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班21 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了21 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP1 天前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc1 天前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu