C++如何使用GDB调试程序?(入门命令指南)

admin 百科 14
GDB调试C++程序核心是三步:编译时加-g、启动GDB、用断点和单步控制执行;不加-g则无法查看变量或源码,必须用g++ -g或CMake设置Debug模式,再通过b/r/n/s/p/bt等命令调试。

C++如何使用GDB调试程序?(入门命令指南)-第1张图片-佛山资讯网

用GDB调试C++程序,核心是三步:编译时加-g、启动GDB、用断点和单步控制执行。不加调试信息,GDB几乎没法看变量或源码。

编译时必须带 -g 选项

GDB依赖调试符号,而默认编译(如 g++ main.cpp -o app)会剥离这些信息。正确做法是:

  • g++ -g -o app main.cpp —— 最基础,启用完整调试信息
  • g++ -g3 -O0 -o app main.cpp —— -g3 包含宏定义,-O0 关闭优化(避免代码重排导致单步跳变)
  • 如果用了 CMake,在 CMakeLists.txt 中设 set(CMAKE_BUILD_TYPE Debug),它会自动加 -g

常用 GDB 启动与运行命令

启动后先加载程序,再决定怎么跑:

  • gdb ./app —— 直接加载可执行文件
  • gdb ./app core —— 加载崩溃生成的 core 文件(需先 ulimit -c unlimited
  • runr —— 开始运行(支持传参:r arg1 "arg two"
  • kill —— 终止当前运行中的程序
  • quitq —— 退出 GDB

打断点、单步、查状态

这是日常调试最频繁的操作:

标签: app ai c++ 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~