gdb调试时查看内存
2023-09-11 14:15:08 时间
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
相关文章
- 如何找出发生SEGV内存错误的程序
- mysql占用内存过高调优方法
- Instruments指南:如何调试内存泄露
- 图片--Android加载图片导致内存溢出(Out of Memory异常)
- 让.NET程序快速释放内存的办法
- 操作系统内存管理模块中的动态重定位需要由什么来实现?
- paip.c++ 内存泄漏以及解决之道.
- [h5棋牌项目]-19-把内存数据转成json格式字符串
- 【Linux 内核 内存管理】物理页释放 ( 物理页释放 __free_pages 函数 )
- 【Linux 内核 内存管理】mmap 系统调用源码分析 ④ ( do_mmap 函数执行流程 | do_mmap 函数源码 )
- C++继承时的对象内存位置(一)有成员变量遮蔽时的内存分布
- IP分片攻击——就是发送部分分片报文,让对方一直等待从而耗对方内存的DoS攻击
- RK3399平台开发系列讲解(内存篇)15.5、如何预防内存泄漏导致的系统假死?
- Redis内存回收策略
- 【OS Pintos】Project1 项目要求说明 | 进程中止信息 | 参数传递 | 用户内存访问 | 有关项目实现的建议