gdb参考命令

简介: 1、启动1)程序的运行参数。set args //指定运行时参数。(如:set args 10 20 30 )show args //查看设置好的运行参数。 2)运行环境path //设定程序的运行路径。
1、启动
1)程序的运行参数。
set args //指定运行时参数。(如:set args 10 20 30 )
show args //查看设置好的运行参数。
 
2)运行环境
path //设定程序的运行路径。
show paths //查看程序的运行路径。
set environment varname[=value] //设置环境变量。如:set env USER=hchen
show environment [varname] //查看环境变量
 
3)工作目录
cd //相当于shell的cd命令。
pwd //显示当前的工作目录。
 
4)程序的输入输出
info terminal//显示程序用到的终端的模式
使用重定向空值程序输出。如run<outfile
tty命令可以指定写输入输出的终端设备。如tty/dev/ttyb
 
2、断点
(gdb)bmake_< TAB>  // 支持联想功能
break
break +offset
break -offset
break filename:linenum
break filename:function
break if 
break xx thread
disable 5-8
enable
info break
delete [breakpoints] [range…]
watch //数据断点,表达式可以是一个变量或地址
 
3、运行
c/continue  //恢复程序的运行直到程序结束,或下一个断点的到来。
s/step //单步跟踪,如果有函数调用,他会进入该函数
n/next  //同样单步跟踪,如果有函数调用,他不会进入函数。
finish //运行程序,直到当前函数完成返回。
return //使用return命令取消当前函数的执行,并立即返回
 
 
4、堆栈信息
bt/backtrace //n是一个正整数,表示只打印栈顶上n层的栈信息。
f/frame //切换当前的栈
select-frame 对应于frame 命令。
up-silently 对应于up命令。
down-silently 对应于down命令。
info frame //打印出更为详细的当前栈层的信息
info args //打印出当前函数的参数名及其值。
info locals //打印出当前函数中所有局部变量及其值。
list //显示程序第linenum行周围的源程序。
list 1,20   //查看1到20行的代码
list //显示函数名为function的函数的源程序。
list //显示当前行后面的源程序。
 
 
5、变量
print/p //expr可以为变量或地址
--file:variable
--function::variable
int *array=(int*)malloc(len*sizeof(int))
p * array@len  //len为查看长度
print x=4
set var width=47 //set用于修改gdb参数,建议带上var
 
6、自动显示
设置一些自动显示的变量,当程序停住时,或是在你单步跟踪时,这些变量会自动显示
display 
undisplay 
delete display 
disable display 
enable display 
info display
 
7、condition
condition 
修改断点号为bnum的停止条件为expression
condition 
清除断点号为bnum的停止条件。
还有一个比较特殊的维护命令ignore,可以指定程序运行时,忽略停止条件几次。
ignore 
表示忽略断点号为bnum的停止条件count次。
 
8、多线程
(gdb)set scheduler-locking on/off //锁定调度器来避开gdb根据优先权来改变当前线程
(gdb)show scheduler-locking  //确定当前模式
(gdb)set follow-fork-mode child //跟踪子进程
(gdb)set follow-fork-mode parent //跟踪父进程
(gdb)set follow-fork-mode ask //设置gdb在fork时询问跟踪哪一个进程
info threads  //查看当前应用程序中所有的线程
 
 
相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
6月前
|
NoSQL Linux 编译器
Linux:vim调试工具gdb | 常见命令集
Linux:vim调试工具gdb | 常见命令集
158 0
|
6月前
|
NoSQL C++ 开发者
【C/C++ 调试 GDB指南 】GDB中的‘info’命令:一次全面的探索
【C/C++ 调试 GDB指南 】GDB中的‘info’命令:一次全面的探索
388 0
|
11月前
|
NoSQL Linux C++
Linux系统gdb调试常用命令
Linux系统gdb调试常用命令
151 0
|
NoSQL Linux C++
百度搜索:蓝易云【Linux常用gdb命令详解。】
使用gdb调试程序时,可以通过设置断点、执行程序、观察变量值等操作来逐步调试代码,定位问题并进行修复。熟练掌握gdb的使用可以提高程序调试的效率和准确性。
51 0
|
存储 NoSQL C语言
gdb调试常见命令详细总结
gdb调试常见命令详细总结
507 0
|
NoSQL Python C语言
|
NoSQL Linux C语言
Linux调试工具strace和gdb常用命令小结
strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用。 strace调试工具 strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数、返回值、执行时间。
1396 0
|
NoSQL Unix Shell
比较全面的gdb调试命令
用GDB调试程序  GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序 列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行 软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可 以做出一个非常强大的功能。
1671 0