Linux下的gdb对代码进行调试

一、在gcc下调试

在gcc下面有两种调试方式,一般都能适用。

(1)断点调试:

可以用printf的方法,折半查找,比如一百行的代码,在50行加一个printf的代码,折半查找,在50行代码的时候进行调试。

(2)代码屏蔽

我们可以把所有的函数都注释掉,然后在运行一个函数,成功就再进行运行下一个函数,直到运行全部的函数。

二、在gdb下调试

注意:只有调试版本才能查看 调试结果(就是通过-g操作的)

Linux下的gdb对代码进行调试


Linux下的gdb对代码进行调试

通过这个语句可以产生一个dbug文件

Linux下的gdb对代码进行调试

然后对这个文件进行gdb调试

Linux下的gdb对代码进行调试

操作:

1)b+行数是设置断点的意思,b+函数名+:+行数是在函数体内第几行加断点

Linux下的gdb对代码进行调试

2)info break的意思是查看设置了几个断点了

Linux下的gdb对代码进行调试

3)run是运行的意思

Linux下的gdb对代码进行调试

4)n是下一步的意思

Linux下的gdb对代码进行调试

5)p+变量名是查看现在变量的值

Linux下的gdb对代码进行调试

6)c是继续运行直接到断点

Linux下的gdb对代码进行调试

7)在开头写list是查看代码,在中间使用list是显示断点附近的代码信息

Linux下的gdb对代码进行调试

8)如果在函数中不想调试了可以使用returne退出函数

Linux下的gdb对代码进行调试

9)如果预先没设置断点,step可以直接进入函数进行调试

Linux下的gdb对代码进行调试

10)delete是删除所有断点,clear是删除当前断点

11)加上shell可以调用终端里面的命令

Linux下的gdb对代码进行调试

12)停止调试是k