目录
GDB基本操作和常见面试题
基本操作
GDB是 GNU开源组织发布的一个强大的Unix/Linux下的程序调试工具。
作用:
1、启动用户程序后,可以按照用户的要求随意运行程序
2、可让被调试的程序在用户所设定的断点处停住
3、当程序被停住时,可以检查此时用户程序中所发生的事。
4、可动态改变用户程序的执行环境
启动
gcc-g hello.c -o hello //得到默认release版本文件
gdb ./hello //进入调试状态
但通常是生成debug版本的文件
gcc -o mytest test.c -std=c99
readelf -S mytest//查看调试信息
readelf -S mytest | grep -i debug //更加详细的调试信息
查看
| 0 //查看代码
(gbd)list 5 //显示以第5行为中心的10行代码
(gdb) list main//显示函数名为main的函数的源代码
(gdb)list - : 显示当前行前面的代码
断点
(gdb) b main :为函数打断点,在进入函数的时候停止。
b 数字(行数) //打断点
infor b//找断点
d 编号 //删断点
disable breakpoint 编号 //设置空断点
enable breakpoint 编号//开启断点
n(next)//逐过程
s//逐语句
运行
(gdb)r [run的缩写] :开始运行程序,程序运行到断点的位置会停下来,如果没有遇到断点,程序会一直运行下去。
退出
(gdb) quit : 退出gdb调试