当前位置: 首页 > news >正文

dbg -基础指令

文章目录

  • 0 、GDB 是什么?为什么需要它?
  • 1 、准备工作:编译带调试信息
  • 2、基础:断点、运行、查看
    • 2.1 启动 GDB
    • 2.2 断点 (break)
    • 2.3 运行程序
    • 2.4 单步执行
    • 2.5 查看变量
    • 2.5 常用指令集合
      • 2.5.1 where
      • 2.5.2 shell cls
      • 2.5.3 gdb模式下 如何重新开始运行
      • 2.5.4 删除特定编号断点和全部断点
      • 2.5.5 quit
  • 3、中级命令:条件断点、观察点、调用栈
    • 3.1 条件断点
    • 3.2 观察点(watchpoint)
    • 3.3 检查调用栈
    • 3.4 修改程序状态
  • 4、高级命令:信号、核心转储、反汇编、内存
    • 4 .1 信号处理
    • 4.2 核心转储(Core Dump)调试
    • 4.3 反汇编与机器级调试
    • 4.4 检查内存
    • 4.5 远程调试
    • 4.6 多线程调试
    • 4.7 脚本与自动化
  • 5、结合 PID 仿真程序的实战调试演练
  • 6 、高级技巧:反向调试与 TUI 模式
  • 7、CLion 调试与命令行 GDB 的关系
  • 8、总结与最佳实践
  • 9 专栏目录

系统讲解GDB 调试器,从安装启动到高阶技巧。


0 、GDB 是什么?为什么需要它?

GDB(GNU Debugger)可以让你:

  • 让程序在任意位置暂停(断点)
  • 一行一行单步执行代码
  • 查看变量的值内存寄存器
  • 追踪函数调用栈
  • 调试崩溃转储文件(core dump)
  • 甚至修改程序状态以测试修复

对于 PID 仿真,常见问题如:积分项为何发散?输出为何振荡?用printf大法不仅麻烦,还会改变时序行为,而 GDB 可在不修改代码的情况下精准定位。


1 、准备工作:编译带调试信息

GDB 需要程序包含调试符号(变量名、行号、函数名等)。在 Makefile 中我们已经使用了-g选项:

CFLAGS = -O0 -g -Wall -std=c11
  • -O0关闭优
http://www.jsqmd.com/news/1153292/

相关文章:

  • ChatBI试点常见12问:客户成功一线的FAQ与行动建议
  • Wireshark 与 SniffMaster 对比 移动端抓包场景下的工具选型
  • League-Toolkit终极指南:英雄联盟自动化工具深度解析与高效配置
  • 线程生命周期和线程状态
  • 大模型指令遵循能力评测:从单轮评分到多轮一致性验证
  • 经典算法实例应用:后继者(二)
  • AI 相关概念之(基础层级):机器学习、神经网络、深度学习
  • 小团队知识库软件怎么选?2026年主流工具对比与精选盘点
  • 如何将B站缓存视频转换为MP4:m4s-converter完整使用指南
  • Seraphine:基于LCU API的现代化英雄联盟战绩查询与游戏辅助工具
  • 亚远景科技受邀亮相 2026 上海国际低碳智慧出行展览会
  • “Sample Is Feature: Beyond Item-Level, Toward Sample-Level Tokens for Unified Large Recommender Mode
  • 科创企业商业秘密保护的核心价值与落地意义|筑牢研发数据与技术壁垒
  • Meta-Llama-3 模型权重申请与下载:GitHub/Hugging Face 双路径 3 小时全流程
  • 终极百度网盘直链解析教程:告别限速的简单Python工具
  • BetterGI:智能游戏助手,彻底解放你的原神游戏时间
  • B站视频格式转换终极方案:5秒完成m4s到MP4无损转换
  • 创业孵化运营升级:创业导师如何贯穿园区全链路运营
  • 飞书服务端SDK v1.0 集成实战:3步完成消息推送与事件订阅
  • 工业机器人公司有没有在真实场景跑过的?用数据说话
  • Managers/APConfigManager.cs
  • 网络安全——计算机网络基础下(下篇)
  • 通用下载方法
  • 3分钟永久备份B站视频:m4s-converter让缓存视频永不失效的完整指南
  • 【新手快速上手】 OpenClaw 本地离线 AI 智能体 Windows 搭建实操手册(含安装包)
  • 拥抱 Markdown 带来的奇妙世界
  • Ansys Workbench 屈曲分析:特征值 vs 非线性 5大核心差异与工程选型指南
  • Cesium@1.138中实现标尺绘制功能
  • quartus与vivado 的debug标记代码对比
  • NVIDIA Profile Inspector终极指南:如何解决驱动兼容性崩溃问题