目录
山不在高,有仙则名。水不在深,有龙则灵。
----CSDN 时时三省
1,编译
编译时,使用命令:
#name.c 为源文件的名字。 test 为编译出来的可执行文件
gcc -g name.c -o test
2,调试常用命令
gdb binFileName
l(list) 行号/函数名
r(run)
#添加断点
b(breakpoints) 行号
b 源文件:函数名
b 源文件:行号
info b
#删除断点
d(delete) 断点编号 #info b 命令里面的断点编号
d breakpoints
disable b
enable b
disable b 编号
enable b 编号
enable breakpoints
#调试常用步骤
n(next)
s(step)
bt #查看堆栈调用
set var #设置变量的值
p(print) 变量名
display #跟踪变量,当程序停下时,显示该变量值
undisplay 变量名编号
until 行号 #执行到指定位置
finish #在某个函数内部执行到函数返回处
c(continue) #从一个断点执行到下一个断点
3,常用操作
1,gcc -g name.c -o test #编译出可执行文件。 -g选项不可缺少
2,gdb test #进入gdb
3,l 0 #从第0行开始显示代码
4,b 7 #在第7行添加断点
5,r #运行
6,n #执行该语句,不进入该语句内部。
7,s #执行该语句,并进入该语句的定义处
8,c #继续执行,直到下一个断点停止
9,bt #查看函数的调用栈
10,b 10 #在第10行添加断点
11,info b #查看添加的断点信息,确认第一个添加的断点编号为 1
12,d 1 #删除第一个添加的断点
13,display 变量名 #添加该变量的显示,每次停止时,显示该变量的值
13,quit #退出调试