GDB使用笔记
rpm -qa | grep gdb 查看是否安装了GDB
如果没安装,找到包包rpm -ivh一下
1.编译的时候加-g加入调试信息
用嵌入式SQL编译命令sqlcc的时候,只能在命令最后加上这个操作。-pthread也是一样的
2.进入GDB
gdb xxxx 进入GDB(或者进入GDB后再用file xxxx装入要调试的程序)
3.l == list
查看十行代码
“l -” 查看上上十行
“l n” 指定哪十行(n的上下五行)
4.打断点: b == break
b 行号
如果没有行号就是在当前设置断点
b 函数名
条件判断: break if x=1, break 函数名 if x=1
info break 查看断点
del n 删除断点,n为断点号
disable n 使断点n不可用
enable n 恢复使用
5.r == run
r 参数,再次输入r可以免参数,按照上次保留的参数运行
运行到fork之后会出现如下提示:
Detaching after fork from child process 6332.
6.c == continue
7.p == print x(变量名)
o == output和print的区别是,output只输出值,而不输出下一行代码,而且不把打印的值记录在历史中间
e == echo
8.s n == step n(前进n步)
9.n == next n
10. display <expr> 设置一些自动显示的变量,expr为表达式
11.u == until 直接运行到一个函数返回,除非中间还有别的断点
12.w == watch exp(表达式) 监视变量的值的改变,自动暂停并输出
info watch
del n
rwatch 当表达式被读时暂停程序
awatch 当表达式被读或写时暂停程序
13.k == kill(能保存断点的)
14.info program
15.h == help,i == info option(program, break...),pwd,d == delete,show language(显示当前语言), set language(设置代码语言),回车(执行上一次命令)

浙公网安备 33010602011771号