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

第03课:GDB 常用的调试命令概览

先给出一个常用命令的列表,后面会结合具体的例子详细介绍每个命令的用法。

命令名称命令缩写命令说明
runr运行一个程序
continuec让暂停的程序继续运行
nextn运行到下一行
steps如果有调用函数,进入调用的函数内部,相当于 step into
untilu运行到指定行停下来
finishfi结束当前调用函数,到上一层函数调用处
returnreturn结束当前调用函数并返回指定值,到上一层函数调用处
jumpj将当前程序执行流跳转到指定行或地址
printp打印变量或寄存器值
backtracebt查看当前线程的调用堆栈
framef切换到当前调用线程的指定堆栈,具体堆栈通过堆栈序号指定
threadthread切换到指定线程
breakb添加断点
tbreaktb添加临时断点
deletedel删除断点
enableenable启用某个断点
disabledisable禁用某个断点
watchwatch监视某一个变量或内存地址的值是否发生变化
listl显示源码
infoinfo查看断点 / 线程等信息
ptypeptype查看变量类型
disassembledis查看汇编代码
set args设置程序启动命令行参数
show args查看设置的命令行参数

上面只列了一些常见的命令,对于一些不常见的命令(如 file 命令 )就不列举了,不建议刻意记忆这些命令,因为确实有点多,找几个程序代码实际练习一下很快就能记住,至于要不要采用,大家还是根据自己的学习习惯来。当 GDB 输入命令时,对于一个命令可以缩写成什么样子,只需要遵循如下两个规则即可。

  • 一个命令缩写时不能出现多个选择,否则 GDB 就不知道对应哪个命令了。举个例子,输入 th,那么 th 对应的命令有 thread 和 thbreak(上表没有列出),这样 GDB 就不知道使用哪个了,需要更具体的输入,GDB 才能识别。
(gdb) th Ambiguous command "th": thbreak, thread.
  • GDB 有些命令虽然也对应多个选择,但是有些命令的简写是有规定的,例如,r 就是命令“run”的简写,虽然输入“r”时,你的本意可能是“return”命令。

总之,如果记不清楚,可以直接使用命令全称,每个命令都是很常见的英文单词,通俗易懂不难记忆。

后面的课程将逐一介绍上面每个命令的使用方法,注意这里不是照本宣科地列出来,而是介绍一些很有用的调试细节和使用技巧,如果还不熟悉 GDB 调试,建议认真阅读下面的课程。

之所以单独列出,一是为了从总体上告诉读者 GDB 调试需要掌握哪些常见的命令,后面的课程会按上面表格中给出的命令逐一来详细讲解;二是给已经熟悉 GDB 部分命令的读者一个导览图,可以跳至不熟悉的命令的相关部分阅读。

http://www.cnnetsun.cn/news/3034718.html

相关文章:

  • 如何分析干部队伍年龄结构,找准“盖层”和“断层”?
  • 老中青比例不是“数字游戏”,如何科学把握年轻干部选拔标准?
  • 101010旁观:芒格与巴菲特,力荐思维模型
  • Linux服务器开发通用规范
  • 2026年,普通程序员如何从0到1转型AI大模型
  • 历史对话能作为提示词吗?
  • 问题的根源:旧的 unsafe 太粗糙
  • 刮宫需要休息几天?
  • 曲线参数的实际应用解析
  • 多轮上下文记忆
  • 我把埋点测试做成了一条闭环流水线:真机自动验证、自动提 Bug、自动回归复测
  • 【Java SE】异常链
  • 【PolarCTF】铁子,来一道
  • OpenCVSharp:使用MOG进行运动物体识别
  • 别再把大模型比作马:Agent与Harness的底层工程真相
  • 前言:AI 编程的时代来了
  • Cloud Agent 开发笔记(3):Web 交互与数据持久化
  • MacOS 安装Seismic Unix
  • 洛谷 P1007 独木桥
  • Claude Code 上下文分片技巧:突破超长代码库读取限制隐藏方案
  • MyBatis 会话与事务管理深度解析:从 SqlSession 到事务隔离级别的完整指南
  • 【开源】手把手教你搭建本地IT求职面经分享平台 | Next.js + Supabase + Vercel + Cloudflare 全栈项目,国内访问友好,零成本上线
  • 激活函数的发展历程#
  • 询优化器<1>查询重写 / 逻辑优化
  • 整个过程没有引入新的线程
  • XCPC 2026 WEEK 14
  • Java毕设选题推荐:基于 SpringBoot 的剧本杀门店预约管理平台的设计与实现 基于 SpringBoot 的沉浸式剧本杀服务系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 【机器学习入门】从零到一入门机器学习
  • 合租守则第17条
  • 【毕业设计】基于 SpringBoot 的便民医疗咨询服务平台的设计与实现 基于 SpringBoot 的医疗知识问答共享平台(源码+文档+远程调试,全bao定制等)