gdb调试步骤

  1. 编译程序时包含调试信息

    在编译你的程序时,确保使用 -g 标志以包含调试信息。

    g++ -g source_code.cpp -o program
  2. 启动 GDB

    在终端中,使用 gdb 命令启动 GDB

    gdb program
  3. 设置断点

    使用 break 或者b命令设置断点

    (gdb) b function #指定函数设置断点 (gdb) b filename.cpp:line_number #指定行设置断点 (gdb) b &变量名 #指定变量的地址处设置断点,断点触发后,可以结合print查看变量信息
  4. 运行程序

    使用 run 命令启动程序

    (gdb) run
  5. 单步执行

    使用 stepnext命令来逐行单步执行代码

    (gdb) step #进入函数内部 (gdb) next #一步完成函数调用 (gdb) continue #恢复程序运行
  6. 查看变量

    使用 print 命令来查看变量的值

    (gdb) print variable_name (gdb) print expression
  7. 查看堆栈跟踪

    使用 bt 命令来查看当前的调用堆栈,这将显示函数的调用关系。

    (gdb) bt
  8. 设置条件断点

    使用 break if 命令可以在满足特定条件时触发断点。

    (gdb) b your_function if condition 如:b main.cpp:127 if cnt==10
  9. 删除断点

    使用 delete 命令来删除不再需要的断点。

    (gdb) d breakpoint_number #删除指定编号断点 (gdb) clear #删除程序中所有断点 (gdb) clear 行号 #删除此行断点 (gdb) clear 函数名 #删除函数中所有断点 (gdb) disable #让某个断点暂时失效
  10. 继续执行

    使用 continue 命令来让程序继续执行,直到下一个断点或程序结束。

    (gdb) continue
  11. 退出 GDB

    当你完成调试时,可以使用 quit 命令退出 GDB。

    (gdb) quit

补充:gdb监视

(gdb) watch *地址 #当该地址发生变化时触发断点 (gdb) watch var #当var值发生变化时触发断点 (gdb) watch (condition) #当条件符合时触发断点

list查看源代码

(gdb) list 文件名:行号 #查看指定文件的特定行号源代码 (gdb) list function #查看函数源代码

__EOF__

本文作者Ray963
本文链接https://www.cnblogs.com/ray93/p/17800547.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ray963  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示