GDB 常用命令一览表

自己在使用GDB过程中积累和整理了一份GDB常用命令表,分享出来,方便大家查找命令。

 

GDB 常用命令表 

命令字

功能

print/p  var

显示变量值 

print/p &var

显示变量地址

print/p *pvar

显示指针指向值

list/l  file:N

显示源代码

backtrace/br

显示当前调用栈

show args

显示缺省参数

next/n

单步执行遇到子函数不进入

step/s

单步执行遇到子函数进入

continue/c

继续运行直到下一个断点

info source

显示当前位置的源代码

info break

查看所有断点

ni

汇编的next

si

汇编的step

layout asm

显示汇编源码

info reg/r

显示寄存器值

print/p var

打印变量 var的值

p/c var

以字符串格式打印 var的值

p/f /x /t /o /d

f-float x-hex t-二进制 o-八进制 d-十进制

ctrl+x a 

切换出tui模式,可以使用上下箭头按钮

info locals

显示本地所有变量值 

info args

显示当前函数的调用参数

where

显示当前在哪儿

update

刷新源码窗口至当前执行点

finish

执行完本函数

ctrl-x o

下一窗口

fs s

切换到源码窗口

fs c

切换到命令行窗口

fs a

切换到汇编窗口

fs r

切换到寄存器窗口

fs n/next

切换到下一窗口

fs p/pre

切换到上一窗口

refresh

刷新屏幕

func/f 函数名或地址

显示指定地址的代码

info threads

显示所有线程

thread ID

切换到指定ID的线程

break main.c:30 thread all

在所有线程上设置断点

set schedule-locking off|on|step

这个是在调试多线程的时候,在跟踪一个线程时如何控制其它的行为。 

   OFF: 表示不锁定其它线程

   ON: 只有当前线程会执行

   

thread apply all command

 所有被调试线程执行GDB命令的 command, 即command 命令应用到所有线程

thread apply id1 id2 command 

调试命令只在线程ID1 ID2中执行

save breakpoints [filename]

保存断点信息到 filename

source [filename]

执行 filename中的 command ,可以用于恢复 前面save breakpoints 保存的断点信息

thread

显示当前的线程信息

x/nfu <addr> 

显示内存中的内容 x(examine)

n 表示要显示内存单元个数

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

f 显示方式 :

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

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

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

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

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

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

  i 指令地址格式

  c 按字符格式显示变量。

  f 按浮点数格式显示变量

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

u表示一个地址单元的长度

  b表示单字节,

  h表示双字节,

  w表示四字节,

  g表示八字节

 

x/16xb

clear linenum

clear filename:linenum

info  b

del   breakNo

del   startNo-EndNo 删除范围

gdb 的几种清楚断点的方式,都可以使用

handle SIGSTOP nostop noprint pass

GDB中忽略所有 assert 导致的BREAK

layout asm

layout src 

layout  next/prev

layout split

显示当前崩溃地址的汇编

显示源码窗口

切换不同窗口

上下分隔窗口

 

info reg eax

显示寄存器EAX的值

focus cmd/src/asm/regs/next/prev

简写 fs 切换窗口焦点

set var localname=value

设置变量 localname 的值为 value

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老段,万物互联之物联网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值