gdb 常用命令总结(精优)
格式说明:
[xxx]:可选参数,即可以指定可以不指定,实际输入的内容是 xxx<xxx>:占位参数,即必须指定的参数,实际输入的内容是 xxx
gdb 常用命令:
gdb [file]:进入 gdb 调试环境 / 进入 gdb 调试环境,并加载被调试被调试文件 filefile <file>:加载被调试文件 filer [运行时参数]: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 b:i b=info break,查看所有的断点信息d [break_number]:d=delete,删除所有断点 / 删除编号为 break_number 的断点bt:bt=backtrack,查看栈信息f <x>:f=frame,切换到第 x 帧。其中 x 会在bt命令中显示,从 0 开始,0 表示栈顶。up/down <x>:往栈顶/栈底移动 x 帧,当省略 x 时默认为 1condition:可以在设置的条件成立时,自动停止当前的程序,先使用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 次程序才停住s:s=step,执行一行源程序代码,如果此行代码中有函数调用,则进入该函数finish:函数结束,s进入到函数后,可用该命令跳出被调函数,返回调用函数n:n=next,执行一行源程序代码,不管该行有没有函数调用c:c=continue,继续执行被调试程序,直至下一个断点或程序结束u:u=until,直到当前循环完成p <变量名>:p=print,临时显示某个变量display <变量名>:跟踪某个变量,一直显示undisplay <已被跟踪的某个变量编号的编号>:取消跟踪某个变量watch <expression>:expression 可以是变量、地址、表达式。监视 expression 的值,一旦值有变化,程序停住。取消监视:先用i b查看所有断点信息,其中包含监视 expression,然后d <expression 的编号>取消监视set args <argv1> <argv2> ...:设置运行时参数show args:查看运行时参数q:q=quit,退出 gdb 调试环境help <cmd>:gdb 帮助命令回车:重复上次命令
未完 ......
点击访问原文(进入后根据右侧标签,快速定位到本文)
gdb 常用命令总结(精优)的更多相关文章
- Linux GDB常用命令一栏
Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...
- gdb常用命令记录
gdb常用命令 最近在研究nginx源码,gdb用于调试非常方便,之前这篇有研究过如何使用gdb调试nginx:https://www.cnblogs.com/yjf512/archive/2012/ ...
- GDB常用命令系列
本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions.html 本文为索引,请点击以下链接进行阅读: GDB调试原理——p ...
- GDB常用命令使用说明(一)
本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions1.html 全部关于gdb的文章索引请点这里 GDB(GNU Deb ...
- C 调试 gdb常用命令
gdb常用命令: [root@redhat home]#gdb 调试文件:启动gdb (gdb) l :(字母l)从第一行开始列出源码 (gdb) break n :在第n行处设置断点 (gdb) b ...
- Linux调试工具strace和gdb常用命令小结
strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用. strace调试工具 strace工具用于跟踪进程执行时的系统调用和所接 ...
- 第04课:GDB常用命令详解(上)
本课的核心内容如下: run命令 continue命令 break命令 backtrace与frame命令 info break.enable.disable和delete命令 list命令 prin ...
- 第07课:GDB 常用命令详解(下)
本课的核心内容: disassemble 命令 set args 和 show args 命令 tbreak 命令 watch 命令 display 命令 disassemble 命令 当进行一些高级 ...
- 第06课:GDB 常用命令详解(中)
本课的核心内容: info 和 thread 命令 next.step.util.finish.return 和 jump 命令 info 和 thread 命令 在前面使用 info break 命 ...
随机推荐
- Python基础之各种推导式玩法
一.推导式套路 除了我们之前所学习的列表推导式和生成器表达式之外,还有字典推导式.集合推导式等等. 下面就是一个以列表推导式为例的推导式详细格式,同样适用于其他推导式. variable = [out ...
- CodeForces 816E Karen and Supermarket ——(树形DP)
题意:有n件商品,每件商品都最多只能被买一次,且有一个原价和一个如果使用优惠券以后可以减少的价格,同时,除了第一件商品以外每件商品都有一个xi属性,表示买这个商品时如果要使用优惠券必须已经使用了xi的 ...
- OpenFOAM的PISO算法【转载】
转载自:http://openfoam.blog.sohu.com/94234375.html 流体力学的控制方程是耦合方程组,形式上体现为连续方程和运动方程的耦合,变量上体现为速度和压强的耦合.在数 ...
- TCP/IP 这猝不及防的爱情
前言 前几天看了老刘的一篇文章,TCP/IP 大明邮差.正好最近也在读<计算机自顶向下>一书 心血来潮,想写一个女版的TCP/IP 正文 一天,我正在百花会上赏花,赏着赏着,就出现了一个令 ...
- CodeForces - 1189E Count Pairs(平方差)
Count Pairs You are given a prime number pp, nn integers a1,a2,…,ana1,a2,…,an, and an integer kk. Fi ...
- Hibernate HQL和QBC
OID查询 一.什么是OID查询 根据对象的OID主键进行检索 二.OID查询方式 1. get方法 当get()方法被调用的时候就会立即发出SQL语句 并且返回的对象也是实际的对象 使用get()和 ...
- GitHub回退到某个commit版本
首先查看commit日志 git log 复制你想回退到的commit版本的commit_id,也就是图中圈出来的一大串字符. 将本地回退 git reset --hard commit_id 将远程 ...
- qt mvc1
mvc是经典的三层结构,将数据,视图和逻辑分离.Qt中的Model/View框架,实现了这个模式.在Qt中这个模式设计到三个类,model类,view类和delegate类.model类保存数据,vi ...
- 转录调控 | Transcriptional Regulation | Regulon
scRNA-seq做完该做的QC.normalization.imputation.clustering.trajectory和integration,就会开始做转录调控的分析了. 核心就是围绕着TF ...
- CardView 简介和使用
CardView 简介 本文链接:https://blog.csdn.net/ShawnXiaFei/article/details/81568537CardView 是 Google 官方发布 MD ...