调试(gdb/cgdb)
gdb(cgdb)
学习cgdb基础
程序的发布方式有两种,debug模式和release模式
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项,-g加到后面。
cgdb
● 调试的是可执行程序,不是源文件
● 进入gdb:gdb bin(调试文件)
● quit:退出gdb
cgdb安装
cgdb命令学习
常用指令
cgd常用小技巧:
a. cgdb会记录最新的一条指令,如果想执行上一条指令,直接回车就可以执行上一条
b. Esc:切换到代码窗口
c. i:回到命令窗口
指令:
a. b + 行号:打断点(gdb不退出,断点变化依次递增)
ⅰ. b+文件名+函数名(这个也可以打断点 )
b. d + 断电编号:删除断点
c. info + b:查看断点
d. r:运行程序(类似于F5)
e. n(next):逐过程调试
f. s(step):逐语句,
g. c:运行到下一个断点处
h. p 变量:打印变量值。
cgdb指令合集
watch:监视变量是否变化
调试
调试本质
调试技巧
断点:将代码分块,好查找问题
finsh:查看问题是否在函数内
c(continue):查看问题是否在断点之间的代码块内
until:区域内快速执行,查找问题
watch:当觉得一个变量引起错误的时候,监视变量是否变化