GDB基本使用

April 24, 2023

gdb调试命令

<p>gdb是一个在UNIX环境下的命令行调试工具</p>

进入gdb

# 先进入编译
gcc <program>.c -g -o <program>
# 编译后在
gdb <program>

基本命令

1)查看源码  

(gdb) l

源码会进行行号提示。

如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码。或者:使用断点或单步运行,到某个函数处使用s进入这个函数。

2)设置断点  

(gdb) break fun
or
(gdb) b row

这样会在运行到源码第6行时停止,可以查看变量的值、堆栈情况等;这个行号是gdb的行号。

3)查看断点处情况

 (gdb) info b

可以键入"info b"来查看断点处情况,可以设置多个断点;

4)运行代码

(gdb) r

5)显示变量值

(gdb) p n

在程序暂停时,键入"p 变量名"(print)即可;

GDB在显示变量值时都会在对应值之前加上 $N 标记,它是当前变量值的引用标记,以后若想再次引用此变量,就可以直接写$N,而无需写冗长的变量名;

6)观察变量

(gdb) watch n

 在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况,GDB在"n"设置了观察点;

7)单步运行

(gdb) n

8)程序继续运行

(gdb) c

使程序继续往下运行,直到再次遇到断点或程序结束;

完整的gdb调试

退出gdb

# 输入'q'
(gdb) q

(施工中🚧)

最后更新于