gdb如何查看内存
来源:互联网 发布:遥控怎么切换网络电视 编辑:程序博客网 时间:2024/05/16 15:13
GDB查看内存命令(x命令)
可以使用examine命令(简写是x)来查看内存地址中的值。
x命令的语法如下所示:
x/nfu
n、f、u是可选的参数。
n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。
f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。
u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。
表示一个内存地址。
n/f/u三个参数可以一起使用。例如:
命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示输出三个单位,u表示按十六进制显示。
输出格式
一般来说,GDB会根据变量的类型输出变量的值。但你也可以自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量的中的位的情况。要做到这样,你可以使用GDB的数据显示格式:
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。
(gdb) p record
10 = {12, 76, 48, 62, 94, 17, 32, 37, 52, 69}
(gdb) p &record11 = (int (*)[10]) 0x8049740
(gdb) x/4uw 0x8049740
0x8049740 : 12 76 48 62
(gdb) x/6ow 0x8049740
0x8049740 : 014 0114 060 076
0x8049750 : 0136 021
- gdb如何查看内存
- 用gdb查看内存
- 使用 gdb查看内存
- gdb查看内存
- gdb查看内存
- gdb查看内存
- 用gdb查看内存
- gdb查看内存
- 用gdb查看内存
- 用gdb查看内存
- gdb 查看内存
- GDB 五、查看内存
- gdb查看内存命令
- linux gdb 查看内存
- gdb 查看内存
- gdb查看内存
- 用gdb查看内存
- gdb查看内存
- Android6.0Framework源码解析系列[目录]
- 图片加载框架Glide使用教程
- IoC(控制反转)和DI(依赖注入)
- 最小表示法
- java hibernate 关联关系有什么作用
- gdb如何查看内存
- 字典树
- 使用Java程序调用Matlab
- oracle 导入导出表
- Android源码分析之Builder模式
- [设计模式](八):组合模式(Composite)与享元模式(Flyweight)详解
- 【勤哲应用】用勤哲Excel服务器做机械企业管理系统
- 转载 C# 连接 Oracle 的几种方式
- 通过SHA_init/SHA_update/SHA_final生成sha散列值