目的:
对编译好的程序进行调试工作,主要功能:
1、启动被调试程序;
2、让被调试程序在指定位置停住;
3、当程序停住时,可检查程序状态(如变量值)。
步骤:
1、编译生成可执行文件:
gcc -g test.c -o test
2、启动gdb: gdb test
3、设置断点
4、运行程序:run
5、单步运行:next
6、继续运行:continue
说明:
当运行gdb hello.c,运行(r)时,如果提示需要debuginfo包,这是需要
安装glibc-debuginfo和glibc-debuginfo-common包。
在centos6.5上,需要的包为glibc-debuginfo-2.12-1.132.el6.x86_64.rpm、
glibc-debuginfo-common-2.12-1.132.el6.x86_64.rpm。
安装后,再次运行gdb,将顺利进行。
gdb命令:
l(list) 查看程序
b(break) 函数名 在某函数入口处设断点
b(break) 行号 在指定行号添加断点
b(break) 文件名:行号 在指定文件的指定行号添加断点
b(break) 行号 if 条件 当条件为真时,指定行号处断点生效
info b 查看所有设置的断点
delete 断点编号 删除断点
r(run) 开始运行程序
n(next) 单步运程序(不进入子函数)
s(step) 单步运程序(进入子函数)
c(continue) 继续运行程序
p(print)变量名 查看指定变量值
finish 运行程序,知道当前函数结束
watch 变量名 对指定变量进行监控
q(quit) 退出gdb