zoukankan      html  css  js  c++  java
  • gdb调试时查看内存

    x/<n/f/u> <addr>

    n、f、u是可选的参数,<addr>表示一个内存地址

    1) n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容

    2) f 表示显示的格式

    3) u 表示将多少个字节作为一个值取出来,如果不指定的话,GDB默认是4个bytes,如果不指定的话,默认是4个bytes。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。

    参数 f 的可选值:

    x 按十六进制格式显示变量。
    d 按十进制格式显示变量。
    u 按十六进制格式显示无符号整型。
    o 按八进制格式显示变量。
    t 按二进制格式显示变量。
    a 按十六进制格式显示变量。
    c 按字符格式显示变量。

    f 按浮点数格式显示变量。

    参数 u 可以用下面的字符来代替:

    b 表示单字节

    h 表示双字节

    w 表示四字 节

    g 表示八字节

    例如:

    (gdb) p record
    $10 = {12, 76, 48, 62, 94, 17, 32, 37, 52, 69}
    (gdb) p &record
    $11 = (int (*)[10]) 0x8049740
    (gdb) x/4uw 0x8049740
    0x8049740 <record>:    12    76    48    62
    (gdb) x/6ow 0x8049740
    0x8049740 <record>:    014    0114    060    076
    0x8049750 <record+16>:    0136    021

  • 相关阅读:
    SAX方式解析XML文件实例
    DOM方式解析XML文件实例
    国外程序员整理的Java资源
    研发十大站点
    UMA
    [转]Hadoop YARN任务提交流程
    JAVA的内存模型
    2014年总结
    Storm因机器断电等,启动supervisor异常
    Python几个算法实现
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/9613535.html
Copyright © 2011-2022 走看看