• 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

  • 相关阅读:
    Redis(二)
    Redis
    Nginx
    Linux的环境配置
    深入mysql
    SpringBoot入门
    Thymeleaf入门
    Mybatis之resultMap
    Mybatis入门
    使用第三方实现微信登录
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3506330.html
Copyright © 2020-2023  润新知