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

相关推荐
tan180°23 分钟前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
Mr. Cao code1 小时前
Docker:颠覆传统虚拟化的轻量级革命
linux·运维·ubuntu·docker·容器
抓饼先生1 小时前
Linux control group笔记
linux·笔记·bash
挺6的还2 小时前
25.线程概念和控制(二)
linux
您的通讯录好友2 小时前
conda环境导出
linux·windows·conda
代码AC不AC3 小时前
【Linux】vim工具篇
linux·vim·工具详解
码农hbk3 小时前
Linux signal 图文详解(三)信号处理
linux·信号处理
bug攻城狮4 小时前
Skopeo 工具介绍与 CentOS 7 安装指南
linux·运维·centos
宇宙第一小趴菜4 小时前
08 修改自己的Centos的软件源
linux·运维·centos
bug攻城狮4 小时前
彻底禁用 CentOS 7.9 中 vi/vim 的滴滴声
linux·运维·服务器·centos·vim