gdb参考命令

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 *[email protected]  //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  //查看当前应用程序中所有的线程

时间: 2024-10-05 15:45:12

gdb参考命令的相关文章

gdb基础命令和常用操作补充

GDB是Unix下的一个程序调试工具,类似于windows下面的VC调试器,区别在于GDB采用全命令行控制. 使用GDB需要在编译时使用-g选项,gcc支持-g –O选项同时使用,但如果还在调试阶段,尽量不要-O2,也不要删除(strip)符号表.作用如下: 让程序按照自己定义的要求运行,不必每次改变程序 让程序在设置的断点处停住,并且检查程序的执行情况 动态改变程序的执行环境 一.启动调试 gdb <program> 启动程序进行调试 gdb ./bin/chat_server gdb --

gdb调试命令的使用及总结

gdb调试命令的使用及总结 gdb是一个在UNIX环境下的命令行调试工具.如果需要使用gdb调试程序,请在gcc时加上-g选项.下面的命令部分是简化版,比如使用l代替list等等. 1.基本命令 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或i) locals 查看当前栈帧局部变量的值 list(或l) 列出源代码,接着上次的位置往下列,每次列10行 list 行号

gdb调试命令

本篇摘自互联网,纯属自己学习笔记,然分享给看到我的博客的人们. 用GDB调试程序 GDB是一个强大的命令行调试工具.大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本.UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能. 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能.而Windows下的图形软件基本上是各自为营,

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

本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions1.html 全部关于gdb的文章索引请点这里 GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具.功能极其强大,几乎涵盖了你所需要的全部功能. GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住. 3.当程序被停住时,可以检查此时你的程序中所

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

strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用. strace调试工具 strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数.返回值.执行时间.在Linux中,用户程序要访问系统设备,必须由用户态切换到内核态,这是通过系统调用发起并完成的. strace常用参数: -c 统计每种系统调用执行的时间.调用次数.出错次数,程序退出时给出报告 -p pid 跟踪指定的进程,可以使用多个-p同时跟踪多个进程 -

自己常用GDB调试命令

1.进入gdb调试模式 $ gdb xxx(程序名) 设置函数参数:set args  xxx 查看函数参数:show args 2.break 行号 (打断点) 3.delete 行号 (取消断点) 4.next 单步运行 5.step 进入函数内部 6.finish 退出当前函数 7.print 变量名/*(指针)   :查看变量的运行中的值 9.continue 继续执行 9.退出调试模式 signal SIGINT /  强行退出 signal SIGKILL 10.2次Tab 可补全命

Linux GDB常用命令一栏

Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似于“(y/n)”,输入y 2.显示和查找程序源代码 (1)list :显示10行代码,但是我为什么没有显示成功呢? (2)list 5,10:显示源文件第五行到第十行的代码 (3)list t4.c:5,10:显示源文件中第五行到第十行的代码,在跳是含有多个源文件的次序时使用: (4)list ge

比较全面的gdb调试命令

用GDB调试程序 GDB是一个强大的命令行调试工具.大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本.UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能. 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能.而Windows下的图形软件基本上是各自为营,互相不能调用,很不利于各种软件的相互集成.在这里并不是要和Win

再探gdb常用命令

 前面已经有了一篇对gdb常用命令的总结,见 http://blog.csdn.net/u011848617/article/details/12838875 这里对目前学过的gdb命令进行了较完整的整理. 1.使用gdb调试代码,就要在编译时添加-g选项. 2.gdb -q ------ 启动gdb时不输出版权说明 3.gdb打开文件: (1)gdb filename: (2)先输入gdb,然后在gdb命令行输入file filename. 4.gdb选项(gdb中好多命令都有自己的简写字