文章目录
- 一、启动GDB
- 二、GDB的基本命令
- 1. 显示代码
- 2. 运行程序
- 3. 设置断点
- 4. 单步执行
- 5. 查看变量和内存
- 6. 查看函数调用堆栈
- 7. 修改变量值
- 8. 退出GDB
一、启动GDB
在终端中,使用以下命令启动GDB并加载你的可执行文件:
gdb ./your_program
会进入以下界面:

二、GDB的基本命令
1. 显示代码
list 或 l:显示源代码,默认显示当前位置附近的10行代码。
list/l 行号:显示指定行号附近的代码。
list/l 函数名:显示指定函数的源代码。

2. 运行程序
run 或 r:开始运行程序。如果程序中设置了断点,则运行到第一个断点处暂停;如果没有设置断点,则程序会一直执行到结束。
continue 或 c:继续执行程序,直到遇到下一个断点或程序结束。
3. 设置断点
break 或 b:设置断点。
break 行号:在指定行号设置断点。
break 函数名:在指定函数开头设置断点。
break 文件名:行号:在指定文件的指定行号设置断点。
break if 条件:设置条件断点,只有当条件为真时,断点才会生效。
info breakpoints 或 info b:查看所有设置的断点信息。
delete 或 d:删除断点。
delete 断点编号:删除指定编号的断点。
delete:不带参数时,删除所有断点。
disable 和 enable:禁用或启用断点。
disable 断点编号:禁用指定编号的断点。
enable 断点编号:启用指定编号的断点。

4. 单步执行
next 或 n:执行下一行代码,不进入函数内部。
step 或 s:执行下一行代码,如果当前行是函数调用,则进入函数内部。
finish:执行完当前函数内的剩余指令,并返回到函数被调用的位置。

5. 查看变量和内存
print 或 p:查看变量的值。
print 变量名:显示指定变量的值。
print 表达式:计算并显示表达式的值。
x:检查内存的内容。
x/格式 地址:以指定格式显示从指定地址开始的内存内容。
6. 查看函数调用堆栈
backtrace 或 bt:显示当前的函数调用堆栈,包括函数名、参数和返回地址。
7. 修改变量值
set var 变量名 = 值:在调试过程中修改变量的值。
8. 退出GDB
quit 或 q:退出GDB。


















