尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

GNU Debugger(GDB)使用教程

GNU Debugger(GDB)使用教程
📅 发布时间:2026/7/1 0:53:26

一、GDB介绍

1、什么是GDB

(1)GDB是GNU项目的开源、源代码级命令行调试器,可控制程序的启动、暂停和终止,并在程序暂停时查看内部变量、寄存器、调用栈等运行现场,供开发者定位代码问题。

(2)GDB支持绝大多数主流UNIX、Windows、macOS操作系统;嵌入式开发使用对应架构的交叉版GDB(如ARM Cortex-M系列arm-none-eabi-gdb)。

(3)GDB支持四类调试操作:

①加载/启动目标程序,配置运行参数、环境变量,控制程序执行流程。

②设置代码断点和观察点,满足特定触发条件时自动暂停程序。

③程序主动暂停、断点命中或异常崩溃后,查看寄存器、变量、函数调用栈,还原现场。

④运行时临时修改内存、寄存器变量的值,用于验证问题修复逻辑(修改仅调试期间生效,不改动原始可执行文件或固件)。

(4)GDB支持的编程语言:C/C++、Go、Rust、Fortran、Assembly(汇编语言)等。

2、嵌入式远程调试架构

(1)被调试的目标程序分三类运行场景:

①本地调试:GDB直接控制和调试同一台机器上的进程。

②远程调试:GDB通过串口/TCP连接到远程目标上的GDB Server,调试远程程序。

③嵌入式/模拟器调试:GDB连接到OpenOCD/QEMU等,间接调试裸机固件或模拟器里的系统。

(2)下图所示的是嵌入式远程调试架构。

①Host主机层:

主机层一般是电脑主机;IDE/DDD/GDBGUI是图形调试前端,比如VSCode、CubeIDE、可视化GDB工具;GDB是核心调试客户端,主要用于下发端点、读写内存等调试指令;OpenOCD是GDB远程服务端,适配ST-Link/J-Link等调试器,把GDB指令转为SWD/JTAG硬件时序

②HW probe硬件探针层:

硬件探针层主要是硬件调试转换器,比如ST-Link,USB口连接电脑,SWD/JTAG排线连接单片机,负责电信号转换

③Target目标设备层:

在嵌入式中,被调试的目标是开发板/芯片,图中所示的是两种架构,相应的,有两种完成独立的远程调试链路

右侧链路是Cortex-M单片机主流方案,调试员在PC端图形调试界面操作,界面后端将操作指令转给GDB,GDB通过TCP连接OpenOCD(默认3333端口),向其下发调试命令,然后OpenOCD驱动ST-Link硬件,把指令转换成SWD/JTAG电平时序,通过SWD/JTAG直接与Cortex-M4的调试接口通信,实现读写寄存器、烧 Flash、启停程序

左侧链路是Cortex-A Linux MPU方案,调试员在PC端图形调试界面操作,界面后端将操作指令转给GDB,GDB通过网口TCP远程连接开发板上运行的gdbserver,gdbserver是Linux端轻量代理,接管A7内核上被调试的应用程序

相关新闻

  • 鸿蒙原生 ArkTS 布局深度解析:constraintSize 与 aspectRatio 的协同原理
  • Python网站下载器:三步将整个网站完整保存到本地
  • [智能体-613]:OpenClaw 全套 6 份竣工版 workspace 标准md文件

最新新闻

  • 【Springboot毕设全套源码+文档】基于Java+springboot电缆行业生产管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • tqdm进度条:让命令行程序更友好
  • Fuso:一个内网穿透工具,用 Rust 写的
  • PTA 7-4 列车调度题解:不用队列,一个数组搞定(C语言版,含时间复杂度分析)
  • “Memory in the Age of AI Agents: A Survey“ 论文笔记
  • define和typedef的区别详解

日新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号