美文网首页
GDB查看内存、函数栈、寄存器

GDB查看内存、函数栈、寄存器

作者: spyder_men | 来源:发表于2019-06-13 14:56 被阅读0次

    x/ (n,f,u为可选参数)

    n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义

    f:显示格式
    x(hex) 按十六进制格式显示变量。
    d(decimal) 按十进制格式显示变量。
    u(unsigned decimal) 按十进制格式显示无符号整型。
    o(octal) 按八进制格式显示变量。
    t(binary) 按二进制格式显示变量。
    a(address) 按十六进制格式显示变量。
    c(char) 按字符格式显示变量。
    f(float) 按浮点数格式显示变量

    u:每个单元的大小,按字节数来计算。默认是4 bytes。GDB会从指定内存地址开始读取指定字节,并把其当作一个值取出来,并使用格式f来显示
    b:1 byte h:2 bytes w:4 bytes g:8 bytes

    比如x/3uh 0x54320表示从内存地址0x54320读取内容,h表示以双字节为单位,3表示输出3个单位,u表示按照十六进制显示。

    查看当前程序栈的内容:x/10x $sp-->打印stack的前10个元素

    查看当前程序栈的信息: info frame
    查看当前程序栈的参数:info args
    查看当前程序栈的局部变量: info locals
    查看当前寄存器的值:info registers(不包括浮点寄存器) info all-registers(包括浮点寄存器)
    查看当前栈帧中的异常处理器:info catch

    相关文章

      网友评论

          本文标题:GDB查看内存、函数栈、寄存器

          本文链接:https://www.haomeiwen.com/subject/zyhsfctx.html