Linux 调试器 —— gdb 的使用

Linux 调试器 —— gdb 的使用

  • 前置条件
    • debug 模式 和 release 模式
    • gdb 下载
  • 基础操作
    • 退出调试器
    • 查看源代码
    • 运行程序
    • 断点
      • 打断点
      • 查看断点
      • 取消断点
      • 关闭断点
      • 开启断点
    • 单步执行
      • 逐过程
      • 逐语句
    • 打印表达式值、变量值、地址等等
      • 单次查看
      • 常显示
    • 运行至下一个断点处
    • 运行完所在函数,就停下来
    • 跳转至指定行
    • 查看当前栈帧局部变量的值
    • 修改变量的值
    • 查看各级函数调用及参数

在写代码时,出现错误 Bug 解决不了总是要调试的,如果是图像化界面(类似 vs2019),那倒还好调试,但是对于服务器端的命令行界面,很难进行像样的调试,所以接下来介绍开发工具调试器:gdb

本篇由于图片较多,看起来繁杂,请利用目录索引翻找

前置条件

debug 模式 和 release 模式

首先要知道,一份代码可以被 两种模式 编译,分别是 debug 模式release 模式 ,而 debug 模式 才能被调试,这对程序员来说是必不可少的; release 模式 是发行版,是给用户使用的,并不含 调试信息 ,所以被 gcc 编译出来的同样一份代码,在 debug 模式 下编译出来的 二进制程序 文件大小要大于 release 模式 下的

gcc 默认是以 release 模式 下编译,需要加上 -g 选项才能变成 debug 模式 ,就像下面这样:

gcc gdbtest.c -o gdb_debug -g

那么 gdb_debug 就是 含有调试信息的二进制可执行程序 ,我们是 对此二进制可执行程序进行调试

gdb 下载

运行以下指令即可:

sudo yum install gdb.x86_64 -y

基础操作

有了类似上面的 gdb_debug 文件,就可以运行 gdb 指令了:

gdb gdb_debug

可以看到如下信息:

你可能感兴趣的:(Linux,linux,运维,服务器)