您的位置:首页 > 其它

gdb常用命令

2014-01-05 21:43 239 查看
gdb常用命令

  缺省gdb是调试主进程的,可是现在采用daemon模式工作的程序那么多,主进程通常很快就结束了,子进程才是真正干活的。怎么跟踪调试子进程呢?
  在gdb里面执行:
  set follow-fork-mode child

  则gdb就可以调试子进程了。
-------------------------------------------------------------------------------------------------------
info registers REGNAME... 列出所指出的所有寄存器的值
info break 列出所有的断点和观察点

break *ADDR 在地址ADDR处设置断点
break FUNCTION 在函数FUNCTION处设置断点
clear FUNCTION 删除在函数FUNCTION入口处的断点
delete BNUMS 删除BNUMS指定序点的断点或观察点
backtrace(bt) 显示堆栈中的信息,也很有用,可以在调试中搞清楚当前的调用关系

x/NFU ADDR 这个也是常用,N:重复数, F:显示格式,s字串,i机器码,
缺省是x十六进制数, U:单元大小,b字节,h半字(两字节),w字(四字节,缺省)
ADDR为地址,如 x/3uh 0x54320
set $REGNAME=VALUE 设定寄存器REGNAME的值为VALUE,还可以是
set $sp += 4这样的让sp加4
set {TYPE}ADDR=VALUE 将地址ADDR的TYPE类型的值设为VALUE,例
如:set {int}0x83040=4
nexti(ni) 执行一行机器码,如果是函数调用,则执行到函数返回
stepi(si) 执行一行机器码,如果是函数调用,则进入函数
disassemble FUNCTION 反汇编FUNCTION函数
disassemble ADDR1 ADDR2 反汇编ADDR1和ADDR2间的机器码
disassemble ADDR 反汇编ADDR所在的函数

参数:http://hi.baidu.com/dongyuejiang/item/1ac8a0eba778bd0c65db004f
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: