gdb的主要作用就是用来调试代码的错误,可以做到单步调试或者从一个断点执行到下一个断点,甚至是改变当前程序的执行条件,按照我们设定的条件进行执行,总归一句话:调试查找错误和让程序按照我们设定的条件去执行。
gcc -g countnine.c -o demo1 -g 加入调试信息到可执行文件里面;
gcc countnine.c -o demo2
比较一下 demo1 和 demo2 的大小;
实际开发中:debug版本和发布版本(release版本)的可执行文件
进入调试环境中:gdb + debug 版的可执行文件
打断点:
break 程序的行号 或 函数的名字
查看断点:
info break
执行:
run
单步执行:
step(遇到函数,会进入到函数中进行单步执行)
next(遇到函数,不会进入到函数中进行单步执行)
delete 断点编号 :删除断点;
continue:执行到下一个断点如果(下面没有断点,一直运行到程序结束)。
quit:退出gdb
print:显示变量表达式的值
list:列出源码