GDB基本操作和常见面试题

发布时间 2023-08-30 19:43:34作者: 我好想睡觉啊

GDB基本操作和常见面试题

基本操作

GDB是 GNU开源组织发布的一个强大的Unix/Linux下的程序调试工具。

作用:
1、启动用户程序后,可以按照用户的要求随意运行程序
2、可让被调试的程序在用户所设定的断点处停住
3、当程序被停住时,可以检查此时用户程序中所发生的事。
4、可动态改变用户程序的执行环境

启动

gcc-g hello.c -o hello //得到默认release版本文件

gdb ./hello //进入调试状态

image

但通常是生成debug版本的文件

gcc -o mytest test.c -std=c99

readelf -S mytest//查看调试信息
readelf -S mytest | grep -i debug //更加详细的调试信息

查看

| 0 //查看代码
(gbd)list 5 //显示以第5行为中心的10行代码

image

(gdb) list main//显示函数名为main的函数的源代码

image

(gdb)list - : 显示当前行前面的代码

断点

(gdb) b main :为函数打断点,在进入函数的时候停止。

b 数字(行数) //打断点

infor b//找断点

d 编号 //删断点

disable breakpoint 编号 //设置空断点

enable breakpoint 编号//开启断点

n(next)//逐过程

s//逐语句

运行

(gdb)r [run的缩写] :开始运行程序,程序运行到断点的位置会停下来,如果没有遇到断点,程序会一直运行下去。

退出

(gdb) quit : 退出gdb调试

常见面试题