gdb常用命令

---------------------------------------------------------------------

命令          简写         功能

---------------------------------------------------------------------

awatch                   用来增加一个观察点(add watch),使用格式:awatch 变量或表达式

                         当表达式的值发生改变或表达式的值被读取时,程序就会停止运行                         

backtrace bt             查看函数调用栈的所有信息。

backtrace 显示程序中的当前位置和表示如何到达当前位置的栈跟踪(同义词:where)

break        b              在代码里设置断点, 这将使程序执行到这里时被挂起.

 b fun_name

 b line_num

 break line-or-function if condition

 break routine-name 在指定例程的入口处设置断点

 delete breakpoint num (d b n)       --删除断点

 delete breakpoint(d b)   --删除所有断点

 tbreak                   --设置临时断点

call name  调用和执行一个函数

catch                         设置捕捉点.

cd 改变当前工作目录

clean n                         清除n行上的所有断点  

clear 删除刚才停止处的断点

commands :设置在遇到断点后执行特定的指令。使用格式有:

    commands

      设置遇到最后一个遇到的断点时要执行的命令

    commands n

      设置遇到断点号n时要执行的命令

     注意,commands后面跟的是断点号,而不是断点所在的行号。

     在输入命令后,就可以输入遇到断点后要执行的命令,每行一条命令,在输入最后一条命令后输入end就可以结束输入。

continue  c               继续执行程序,直至下一中断或者程序结束。

condition :设置断点在一定条件下才能生效。

        使用格式:condition 断点号 条件表达式

delete 删除一个断点或监测点;也可与其他命令一起使用

display 程序停止时显示变量和表达时    --undisplay

down 下移栈帧,使得另一个函数成为当前函数

examine  x               打印内存内容。

file                             装入想要调试的可执行文件.

finish     结束执行当前函数,显示其返回值(如果有的话)

forward/search :从当前行向后查找匹配某个字符串的程序行  

                使用格式:forward/search 字符串

frame 选择下一条continue命令的帧

       打印栈帧,使用格式:frame 栈帧号

info 显示与该程序有关的各种信息       --info breakpoint(i b)

ignore :忽略断点 

    ignore 断点号 忽略次数

jump 让程序跳到指定行开始调试

kill             k              终止正在调试的程序.

list             l               列出产生执行文件的源代码的一部分.

           list function:输出函数function前后的10行程序代码

make                          使你能不退出 gdb 就可以重新产生可执行文件.

next           n              执行一行源代码但不进入函数内部.

              next n 执行n条语句

print 显示变量或表达式的值

    p fun(...)       --打印函数运行结果

    p *arr@n         --查看数组arr的前n个元素

    /x  按十六进制格式显示变量。      --p /x i

    /d  按十进制格式显示变量。

    /u  按十六进制格式显示无符号整型。

    /o  按八进制格式显示变量。

    /t  按二进制格式显示变量。

    /a  按十六进制格式显示变量。

    /c  按字符格式显示变量。

    /f  按浮点数格式显示变量。

ptype  比whatis的功能更强,他可以提供一个结构的定义

pwd 显示当前工作目录

pype 显示一个数据结构(如一个结构或C++类)的内容

quit           q               终止 gdb.

reverse-search 在源文件中反向搜索正规表达式

run            r               执行当前被调试的程序.

  r args           --后面跟命令行参数

  ser args args    --设置命令行参数

  show args        --查看命令行参数

search 在源文件中搜索正规表达式

set variable 给变量赋值            #set i=100

shell       使你能不离开 gdb 就执行 UNIX shell 命令.   #shell make

signal 将一个信号发送到正在运行的进程

step          s              执行一行源代码而且进入函数内部.

thread        t               查看当前运行程序的线程信息.

undisplay display命令的反命令,不要显示表达式

until 结束当前循环

up 上移栈帧,使另一函数成为当前函数

watch        与awatch类似用来设置观察点,但程序只有当表达式的值发生改变时才会停止运行

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值