Linux下的c如何进行GDB调试

首先我们写好一个.c 文件,用于做实验;

Linux下的c如何进行GDB调试

我们通常写完这个程序,会使用命令gcc test.c -o test,对源文件进行编译,但是如果我们要对程序进行调试,就必须在编译源文件时,使用-g参数,编译时使用的命令为【gcc -g test.c -o test】

Linux下的c如何进行GDB调试

编译完成后,启动GDB调试工具,命名为:gdb + 要调试程序的程序名,在本例中使用的命令为【gdb test】;

Linux下的c如何进行GDB调试

接下来,我们就可以对程序进行调试了,首先我们可以使用list/l命令查看程序,方便我们添加断点时查看信息;

Linux下的c如何进行GDB调试

然后使用break/b命令给程序添加断点,共有下面几种情况:

①   b 函数名 在某函数入口处添加断点;

②   b 行号 在指定行添加断点

③   b 文件名:行号 在指定文件的指定行添加断点

④   b 行号 if 条件 当条件为真时,指定行号处断点生效,例 b 5 if i=10 ,当i=10时,第5行断点生效

根据自己的情况,进行断点的添加;

Linux下的c如何进行GDB调试

添加完断点之后,我们可以使用【info break】命令,查看所有的断点;

Linux下的c如何进行GDB调试

最后使程序开始运行,run命令,运行程序;next命令,单步运行,continue命令,连续运行;如果想查看某一变量的值,则使用print/p + 变量名;

Linux下的c如何进行GDB调试

q回车结束调试

Linux下的c如何进行GDB调试Linux下的c如何进行GDB调试