gdb常用命令

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

原文地址:https://www.cnblogs.com/tekkaman/p/3506330.html