当前位置:首页 > 系统教程 > 正文

GDB调试工具完全指南

GDB调试工具完全指南

Linux下程序调试的利器(小白入门到精通)

在Linux系统开发中,GDB调试工具是每个程序员必须掌握的技能。本文将详细介绍GDB的使用方法,从安装到常用命令,带你快速入门Linux调试工具

GDB调试工具完全指南 GDB调试 Linux调试工具 GDB命令 程序调试 第1张

1. 什么是GDB?

GDB(GNU Debugger)是Linux下最常用的程序调试工具,它可以让你观察程序的内部运行状态,跟踪bug,是GDB命令行界的神器。

2. 安装GDB

在大多数Linux发行版中,可以使用包管理器安装:Debian/Ubuntu: sudo apt-get install gdbRedHat/CentOS: sudo yum install gdb

3. 编译可调试程序

使用GDB调试前,需要在编译时添加-g选项,保留符号表:gcc -g program.c -o program

4. 启动GDB

启动GDB有多种方式:直接调试:gdb program附加到进程:gdb attach PID分析core文件:gdb program core

5. 常用GDB命令

  • breakb:设置断点,如 b main
  • runr:运行程序
  • nextn:单步执行(不进入函数)
  • steps:单步执行(进入函数)
  • continuec:继续运行到下一个断点
  • printp:打印变量值,如 p variable
  • backtracebt:查看函数调用栈
  • listl:显示源代码
  • info breakpoints:查看断点信息
  • quitq:退出GDB

6. 调试示例

假设我们有一个计算阶乘的C程序 factorial.c

    #include int factorial(int n) {    if (n <= 1) return 1;    else return n * factorial(n-1);}int main() {    int num = 5;    int result = factorial(num);    printf("Factorial of %d is %d", num, result);    return 0;}  

编译:gcc -g factorial.c -o factorial启动GDB:gdb factorial设置断点在main函数:(gdb) b main运行:(gdb) r单步执行:(gdb) n打印变量num:(gdb) p num继续:(gdb) c退出:(gdb) q

7. 高级功能简介

GDB还支持条件断点、观察点、catchpoint、远程调试等高级特性,满足复杂程序调试需求。例如条件断点:b factorial if n == 3

掌握GDB调试,让你在Linux开发中如虎添翼。更多命令可通过help查看。

—— 结束 ——