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(设置代码语言),回车(执行上一次命令)

posted @ 2012-03-28 14:21  天天hime  阅读(318)  评论(0)    收藏  举报