
文章目录0 、GDB 是什么?为什么需要它?1 、准备工作:编译带调试信息2、基础:断点、运行、查看2.1 启动 GDB2.2 断点 (break)2.3 运行程序2.4 单步执行2.5 查看变量2.5 常用指令集合2.5.1 where2.5.2 shell cls2.5.3 gdb模式下 如何重新开始运行2.5.4 删除特定编号断点和全部断点2.5.5 quit3、中级命令:条件断点、观察点、调用栈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关闭优