Linux系统gdb调试常用命令

GDB(GNU调试器)是一款常用的调试工具,用于调试C、C++等编程语言的程序。以下是一些常用的GDB命令:

  1. 启动程序:
  • `gdb <executable>`:启动GDB调试器,并加载可执行文件。
  1. 设置断点:
  • `break <line>`:在指定行设置断点。

  • `break <function>`:在指定函数的入口处设置断点。

  • `break <file>:<line>`:在指定文件的指定行设置断点。

  • `break <address>`:在指定内存地址设置断点。

  • `tbreak <line>`:临时断点,程序执行到该行时暂停一次,然后自动删除断点。

  • `rbreak <regexp>`:使用正则表达式设置断点。

  1. 运行程序:
  • `run`:运行程序。

  • `continue`:继续执行程序,直到下一个断点或程序结束。

  • `next`:逐过程执行,不进入函数内部。

  • `step`:逐语句执行,进入函数内部。

  1. 查看和修改变量:
  • `print <variable>`:打印变量的值。

  • `display <variable>`:每次停下来时都打印变量的值。

  • `set variable <variable>=<value>`:修改变量的值。

  1. 查看堆栈和调用链:
  • `backtrace` 或 `bt`:显示函数调用的堆栈信息。

  • `frame <number>`:切换到指定的堆栈帧。

  • `up`:切换到上一层调用的堆栈帧。

  • `down`:切换到下一层调用的堆栈帧。

  1. 单步调试:
  • `next`:执行下一条语句,不进入函数内部。

  • `step`:执行下一条语句,进入函数内部。

  • `finish`:执行完当前函数,并返回到调用该函数的地方。

  1. 查看源代码:
  • `list` 或 `l`:显示当前位置附近的源代码。

  • `list <function>`:显示指定函数的源代码。

  1. 其他常用命令:
  • `info breakpoints`:显示所有断点的信息。

  • `delete <breakpoint>`:删除指定断点。

  • `watch <expression>`:设置监视点,当表达式的值发生变化时暂停程序。

  • `quit`:退出GDB调试器。

这只是一些常用的GDB命令,GDB还有其他很多强大的功能和命令,可以根据具体的调试需求进行学习和使用。

相关推荐
sagima_sdu1 分钟前
Codex 使用指南(技术向):App、CLI 与工作流接入
linux·运维·语言模型·json
圆山猫2 分钟前
[Linux] 用 Buildroot 为 RISC-V QEMU 构建最小根文件系统
linux·运维·risc-v
小草儿7996 分钟前
gbase8s之onatpe备份与恢复性能测试
linux·服务器·网络
不做无法实现的梦~11 分钟前
Linux 嵌入式开发完整入门:工具、配置和学习路线
linux·运维·学习
摘星台13 分钟前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机
郝学胜-神的一滴22 分钟前
Linux 高并发基石:epoll 核心原理 + LT/ET 触发模式深度剖析
linux·运维·服务器·开发语言·c++·网络协议
‎ദ്ദിᵔ.˛.ᵔ₎23 分钟前
Linux 启动
linux·运维·服务器
shy^-^cky26 分钟前
服务器高可用(HA)架构对比
运维·服务器·架构·双机热备·双机互备·双机双工
Joseph Cooper27 分钟前
STM32MP157 Linux驱动学习笔记(三):系统级驱动框架(UART/PCIe)
linux·stm32·学习
一颗青果33 分钟前
Cookie 与 Session 超详细讲解
服务器·前端·github