全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c++如何进行调试 gdb调试c++代码常用命令【新手必学】

GDB调试C++核心是停程序、查状态、逐步推进;需编译加-g,用b/r/n/s/p/bt等命令覆盖90%需求,避免-O2干扰,善用条件断点和watch定位问题。

用 GDB 调试 C++ 代码,核心是“让程序停下来、看清状态、逐步推进”。新手不必记全命令,掌握几个关键操作就能定位绝大多数逻辑和崩溃问题。

编译时必须加 -g 参数

这是调试的前提。没有调试信息,GDB 看不到变量名、行号、函数名,只能看汇编。正确写法:

  • g++ -g -o myapp main.cpp utils.cpp(推荐)
  • 不要用 g++ -O2 -g:优化会打乱代码执行顺序,导致单步跳转异常、变量显示为
  • 如需兼顾调试与部分性能,可用 -O1 -g,但新手建议全程用 -g 不加优化

启动和运行:run、break、start

进入调试最常用三步:

  • gdb ./myapp:加载可执行文件(不运行)
  • break mainb main:在 main 函数开头设断点
  • runr:开始运行,停在第一个断点处
  • 快捷方式:gdb ./myapp -ex "b main" -ex "r",一键启动并断在 main

单步执行与查看:next、step、print、info

停住后,重点看清“现在在哪、变量啥值、调用链如何”:

  • next(n):逐行执行,遇到函数不进入(适合跳过标准库或已验证函数)
  • step(s):逐行执行,遇到函数就进入(适合深入自己写的函数)
  • print 变量名p 变量名:查看变量当前值(支持 p i、p vec[0]、p ptr->data)
  • info locals:列出当前栈帧所有局部变量及值
  • bt(backtrace):崩溃后立刻用,显示完整调用栈,快速定位出问题的函数和行号

实用技巧:条件断点、监视变量、继续执行

解决真实场景中的高频问题:

  • break main.cpp:25 if i == 10:只在第 25 行且 i 等于 10 时中断,避免循环中反复打断
  • watch 变量名:当该变量被修改时自动中断(比如发现某个 int 被意外改写)
  • continue(c):从当前断点继续运行,直到下一个断点或程序结束
  • delete 1clear main.cpp:15:删除指定编号或位置的断点,避免干扰
  • listl:显示当前附近源码(默认 10 行),配合 step/n 更直观

调试不是猜,而是控制 + 观察。从加 -g 开始,用 b/r/n/s/p/bt 这六七个命令,就能覆盖 90% 的日常调试需求。熟练之后再学信号处理、多线程调试或 core dump 分析也不迟。


# app  #   # ai  # c++  # 标准库  # print  # if  # break  # continue  # 局部变量  # int  # 循环  # 线程  # 多线程  # delete  # 行号  # 变量名  # 就能  # 这是  # 几个  # 第一个  # 只在  # 能看  # 停在  # 跳转 


相关文章: 高性能网站服务器配置指南:安全稳定与高效建站核心方案  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作宣传网站的软件,小红书可以宣传网站吗?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站之星安装后如何自定义网站颜色与字体?  已有域名能否直接搭建网站?  如何通过VPS建站实现广告与增值服务盈利?  制作门户网站的参考文献在哪,小说网站怎么建立?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  制作网站外包平台,自动化接单网站有哪些?  c# 在ASP.NET Core中管理和取消后台任务  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何在Windows虚拟主机上快速搭建网站?  ppt制作免费网站有哪些,ppt模板免费下载网站?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  建站之星如何快速生成多端适配网站?  如何破解联通资金短缺导致的基站建设难题?  建站之星展会模板:智能建站与自助搭建高效解决方案  如何快速生成可下载的建站源码工具?  如何彻底删除建站之星生成的Banner?  如何在IIS服务器上快速部署高效网站?  广平建站公司哪家专业可靠?如何选择?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  韩国服务器如何优化跨境访问实现高效连接?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何在IIS中配置站点IP、端口及主机头?  制作旅游网站html,怎样注册旅游网站?  如何选择高效便捷的WAP商城建站系统?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何登录建站主机?访问步骤全解析  如何选择高效可靠的多用户建站源码资源?  如何在IIS中新建站点并配置端口与IP地址?  建站主机空间推荐 高性价比配置与快速部署方案解析  郑州企业网站制作公司,郑州招聘网站有哪些?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  制作网站的公司有哪些,做一个公司网站要多少钱?  建站之星后台管理如何实现高效配置?  定制建站流程解析:需求评估与SEO优化功能开发指南  建站之星如何通过成品分离优化网站效率?  建站之星代理如何优化在线客服效率?  平台云上自主建站:模板化设计与智能工具打造高效网站  常州企业建站如何选择最佳模板?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  建站主机系统SEO优化与智能配置核心关键词操作指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。