格式说明:

  • [xxx]:可选参数,即可以指定可以不指定,实际输入的内容是 xxx
  • <xxx>:占位参数,即必须指定的参数,实际输入的内容是 xxx

gdb 常用命令:

  • gdb [file]:进入 gdb 调试环境 / 进入 gdb 调试环境,并加载被调试被调试文件 file
  • file <file>:加载被调试文件 file
  • r [运行时参数]r=run,运行被调试程序。如果没有设置断点,则运行完整个程序,如果有断点,运行到第一个断点处
  • start:开始调试,停在第一行代码处
  • l [line_number]l=list,查看第 1 行附近的源代码 / 查看第 line_number 行附近的源代码
  • b <line_number>b=breakpoint,在第 line_number 行设置断点
  • b <function>:让程序在调用函数时触发断点,e.g. b fun1。如果希望将断点设置在 C++ 类的成员函数上,可以使用 类名::函数名 的形式设置断点,e.g. b TestClass::testFunc(int)
  • i bi b=info break,查看所有的断点信息
  • d [break_number]d=delete,删除所有断点 / 删除编号为 break_number 的断点
  • btbt=backtrack,查看栈信息
  • f <x>f=frame,切换到第 x 帧。其中 x 会在 bt 命令中显示,从 0 开始,0 表示栈顶。
  • up/down <x>:往栈顶/栈底移动 x 帧,当省略 x 时默认为 1
  • condition:可以在设置的条件成立时,自动停止当前的程序,先使用 b 或者 watch 设置断点,然后用 condition 来修改这个断点的停止的条件。e.g. condition <break_number> <expression> 修改当前断点的停止条件为 expression 为真值,condition <break_number> 清除断点的停止条件,恢复为一般断点
  • ignore <break_number> <count>:忽略该断点的前 count 次停止。e.g. ignore 1 100 忽略断点 1 的前 100 次停止,直到 101 次程序才停住
  • ss=step,执行一行源程序代码,如果此行代码中有函数调用,则进入该函数
  • finish:函数结束,s 进入到函数后,可用该命令跳出被调函数,返回调用函数
  • nn=next,执行一行源程序代码,不管该行有没有函数调用
  • cc=continue,继续执行被调试程序,直至下一个断点或程序结束
  • uu=until,直到当前循环完成
  • p <变量名>p=print,临时显示某个变量
  • display <变量名>:跟踪某个变量,一直显示
  • undisplay <已被跟踪的某个变量编号的编号>:取消跟踪某个变量
  • watch <expression>:expression 可以是变量、地址、表达式。监视 expression 的值,一旦值有变化,程序停住。取消监视:先用 i b 查看所有断点信息,其中包含监视 expression,然后 d <expression 的编号> 取消监视
  • set args <argv1> <argv2> ...:设置运行时参数
  • show args:查看运行时参数
  • qq=quit,退出 gdb 调试环境
  • help <cmd>:gdb 帮助命令
  • 回车:重复上次命令


未完 ......

点击访问原文(进入后根据右侧标签,快速定位到本文)

gdb 常用命令总结(精优)的更多相关文章

  1. Linux GDB常用命令一栏

    Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...

  2. gdb常用命令记录

    gdb常用命令 最近在研究nginx源码,gdb用于调试非常方便,之前这篇有研究过如何使用gdb调试nginx:https://www.cnblogs.com/yjf512/archive/2012/ ...

  3. GDB常用命令系列

    本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions.html 本文为索引,请点击以下链接进行阅读: GDB调试原理——p ...

  4. GDB常用命令使用说明(一)

    本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions1.html 全部关于gdb的文章索引请点这里 GDB(GNU Deb ...

  5. C 调试 gdb常用命令

    gdb常用命令: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) b ...

  6. Linux调试工具strace和gdb常用命令小结

    strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用. strace调试工具 strace工具用于跟踪进程执行时的系统调用和所接 ...

  7. 第04课:GDB常用命令详解(上)

    本课的核心内容如下: run命令 continue命令 break命令 backtrace与frame命令 info break.enable.disable和delete命令 list命令 prin ...

  8. 第07课:GDB 常用命令详解(下)

    本课的核心内容: disassemble 命令 set args 和 show args 命令 tbreak 命令 watch 命令 display 命令 disassemble 命令 当进行一些高级 ...

  9. 第06课:GDB 常用命令详解(中)

    本课的核心内容: info 和 thread 命令 next.step.util.finish.return 和 jump 命令 info 和 thread 命令 在前面使用 info break 命 ...

随机推荐

  1. mac 安装 mysql 5.7

    下载 https://dev.mysql.com/downloads/mysql/5.7.html#downloads 下一步,经过一系列安装步骤后,会跳出一个这样的界面,请注意!!! 上面红框中是你 ...

  2. hashCode 的常规协定是:

    hashCode 的常规协定是:  . 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改 ...

  3. Vue实战041:获取当前客户端IP地址详解(内网和外网)

    前言 我们经常会有需求,希望能获取的到当前用户的IP地址,而IP又分为公网ip(也称外网)和私网IP(也称内网IP),IP地址是IP协议提供的一种统一的地址格式,每台设备都设定了一个唯一的IP地址”, ...

  4. ES里设置索引中倒排列表仅仅存文档ID——采用docs存储后可以降低pos文件和cfs文件大小

    index_options The index_options parameter controls what information is added to the inverted index, ...

  5. 关于long_query_time的设置,可不可以说是mysql的一个小小bug呢

    我们知道对对于MySQL的日志功能,我们可以完全自己控制到底写还是不写.一般来说,binlog我们一般会开启,而对于慢查询我们一般会在开发的时候调试和观察SQL语句的执行速度.但今天发现一个问题.在使 ...

  6. Vue学习手记02 - 路由

    1.项目  注意:项目在初始化的时候没有安装vue-router就需要进行安装 2.安装路由: 在项目中使用ctrl+`, 打开终端, 执行如下命令 npm i vue-router -S 或者 cn ...

  7. android: requestLayout(), invalidate(), postInvalidate() 方法区别

    一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调用,postInvalidate在非UI线程中调用.因为androi ...

  8. MediaPlayer: 在不同控件之间实现视频的无缝切换的方法

    最近使用MediaPlayer + TextureView 实现了一个视频播放器,并且实现了它的横竖屏切换的效果,唯一美中不足的是在横竖屏切换的时候画面会卡顿一下,虽然也不影响播放,但是怕测试会报Bu ...

  9. 详解VMware 虚拟机中添加新硬盘的方法

    一.VMware新增磁盘的设置步骤 (建议:在设置虚拟的时候,不要运行虚拟机的系统,不然添加了新的虚拟磁盘则要重启虚拟机) 1.选择“VM”----“设置”并打开,将光标定位在“硬盘(SCSI)”这一 ...

  10. Python - Django - 显示作者列表

    在 views.py 中添加展示作者列表的函数 from django.shortcuts import render, redirect, HttpResponse from app01 impor ...