一、在gcc下调试
在gcc下面有两种调试方式,一般都能适用。
(1)断点调试:
可以用printf的方法,折半查找,比如一百行的代码,在50行加一个printf的代码,折半查找,在50行代码的时候进行调试。
(2)代码屏蔽
我们可以把所有的函数都注释掉,然后在运行一个函数,成功就再进行运行下一个函数,直到运行全部的函数。
二、在gdb下调试
注意:只有调试版本才能查看 调试结果(就是通过-g操作的)
通过这个语句可以产生一个dbug文件
然后对这个文件进行gdb调试
操作:
1)b+行数是设置断点的意思,b+函数名+:+行数是在函数体内第几行加断点
2)info break的意思是查看设置了几个断点了
3)run是运行的意思
4)n是下一步的意思
5)p+变量名是查看现在变量的值
6)c是继续运行直接到断点
7)在开头写list是查看代码,在中间使用list是显示断点附近的代码信息
8)如果在函数中不想调试了可以使用returne退出函数
9)如果预先没设置断点,step可以直接进入函数进行调试
10)delete是删除所有断点,clear是删除当前断点
11)加上shell可以调用终端里面的命令
12)停止调试是k