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

相关推荐
lht6319356124 分钟前
部署开源漏洞扫描工具SiriusScan及问题解决
linux·安全·开源
笨蛋少年派17 分钟前
*清理磁盘空间
linux·运维·服务器
我搞slam1 小时前
有效的括号--leetcode
linux·算法·leetcode
swsauto1 小时前
Ubuntu系统开机图标变大分辨率降低,找不到其他选项
linux·运维·ubuntu
LCG元2 小时前
Linux 性能优化实战:当服务器负载飙升1000%时,我做了什么?
linux
众俗2 小时前
Linux+Docker+SpringBoot 简单部署
linux·spring boot·docker
染指秃头2 小时前
VM虚拟机共享宿主机代理(Ubuntu24.04)
linux·运维·服务器
Wang's Blog2 小时前
Linux小课堂: Squid代理缓存服务器部署与访问控制实战指南
linux·服务器·缓存
梁正雄3 小时前
7-linux命令-用户管理
linux
江公望3 小时前
磁盘分区方案GPT和MBR的区别浅谈
linux