1.13|1.14|1.15|1.6、GDB调试
- 1.13、GDB调试(1),GDB调试(2)
- 1. 什么是GDB
- 2. 准备工作
- 3. GDB命令—启动、推出、查看代码
- 实际操作
- ①用list查看代码
- 1.15、GDB调试(3)
- 1. GDB命令—断点操作
- 实际操作
- ①对当前文件布置断点操作
- ②对非当前文件布置断点操作
- ③设置无效断点和有效断点
- ④条件断点
- 1.16、GDB调试(4)
- 1. GDB调试—调试命令
- 实际操作
- ①自动变量
1.13、GDB调试(1),GDB调试(2)
1. 什么是GDB

2. 准备工作

3. GDB命令—启动、推出、查看代码

实际操作
- 输入这两条命令,第一条用于生成调式代码,第二条运行调试代码
test.c需要与被调试的代码test在同一个目录下list默认显示main函数

①用list查看代码
list 行号,显示行号上下文代码

list 函数名,表示显示函数名上下文的代码

list 文件名:行号查看非当前文件的代码第10行

list 文件名:函数名查看非当前文件代码的select函数

- 设置一次查看的代码文件行数的大小

1.15、GDB调试(3)
1. GDB命令—断点操作

实际操作
①对当前文件布置断点操作
- 给当前文件第
9行打上断点break 9 - 给当前文件的
main函数打上断点break main - 显示当前断点的情况
info break

②对非当前文件布置断点操作
- 给文件
bubble.cpp的第11加上断点break bubble.cpp:11 - 给文件
bubble.cpp的bubbleSort函数加上断点break bubble.cpp:bubbleSort - 展示断点情况

③设置无效断点和有效断点
- 无效的断点在进行断点调试的时候没有不起作用
- 设置有限断掉
disable 断点编号 - 设置有效断点
enable 断点编号


④条件断点

1.16、GDB调试(4)
1. GDB调试—调试命令

实际操作
- 如果循环中有断点,那么
until将无法跳出循环,此时我们需要删除del 断点或者disable 断点 - 如果想要使用
finish跳出函数体,那么在当前执行的语句的下面也不能有断点
①自动变量
display 变量名,每次执行一次代码自动输出自动变量的值set var直接修改变量的值,看哪个不顺眼改哪个











![[Golang实战] 带你入手gin框架使用,以项目为例](https://img-blog.csdnimg.cn/0cfbe8f3cb9c4d82b8bb787a08e811e3.png)







