Linux的GDB学习与入门

GDB

  • GDB(GNU Debugger)是一个功能强大的调试工具,广泛用于调试 C、C++ 和其他编程语言编写的程序。它是 GNU 项目的一部分,专为帮助开发者在程序执行时检测和修复错误设计。GDB 能够控制程序的执行,查看程序内部的状态,帮助定位代码中的问题,并提供详细的信息以供开发者分析。

主要功能

  • 设置断点:你可以在代码的特定行、特定函数或满足条件时设置断点,程序运行时会在断点处暂停。
  • 单步执行:逐行执行代码,方便查看每行代码执行后的状态。
  • 查看变量和内存:可以查看当前程序的变量值、内存内容,甚至修改它们。
  • 分析程序崩溃:通过分析程序崩溃时的核心转储文件,帮助开发者找到崩溃的根本原因。
  • 跟踪调用堆栈:能够查看函数调用栈,帮助分析程序执行的路径。

GDB 的工作流程

GDB 的调试过程主要包括以下几个步骤

  1. 编译程序:要使用 GDB 调试,首先需要在编译时添加 -g 选项,这样会生成包含调试信息的可执行文件。
  2. 启动 GDB:通过 gdb 启动调试,并加载需要调试的程序。
  3. 设置断点:在程序中指定某些行或函数设置断点,方便在特定位置停止程序。
  4. 运行程序:在 GDB 中运行程序,程序会在断点处停止。
  5. 查看状态:在停止的地方可以检查变量、查看内存、打印调用栈等。
  6. 单步调试:通过逐行或逐步执行代码,追踪程序的运行流程。
  7. 继续执行:在检查完状态后,继续执行程序,直到下一个断点或程序结束。

使用步骤

  1. 编译程序时添加调试信息
    要调试的程序需要包含调试信息。这是通过在编译时添加 -g 选项来实现的。例如,如果你有一个 C 语言源文件 main.c,你可以用以下命令编译它
gcc -g -o my_program main.c
  1. 启动 GDB
    启动 GDB 并加载你想调试的程序
gdb ./my_program

启动后,你将进入 GDB 的调试界面,可以使用 GDB 提供的各种命令进行调试。

  1. GDB调试命令大全表
命令 说明
gdb program 启动 GDB 并调试指定的可执行文件
runr 开始执行程序
continuec 继续执行程序直到下一个断点
breakb 在指定位置设置断点,如:break mainb 10 (在第10行设置断点)
steps 单步执行代码(进入函数内部)
nextn 单步执行代码(跳过函数调用)
finish 执行当前函数直到返回
backtracebt 显示调用栈
printp 打印变量的值,如:print x
info locals 查看当前栈帧的局部变量
info args 查看当前函数的参数
set var 设置变量的值,如:set var x=10
display
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值