gdb查看内存(转)

摘要:
可以使用examine命令来查看内存地址中的值。x命令的语法如下所示:x/n、f、u是可选的参数。u表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。表示一个内存地址。输出格式一般来说,GDB会根据变量的类型输出变量的值。

可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语 法如下所示:
x/<n/f/u> <addr>
n、f、u是可选的参数。

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

f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

u 表示从当前地址往后请求的字节数,如果不指定的话,GDB默认是4个bytes。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当我们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其当作一个值取出来。

<addr>表示一个内存地址。

注意:严格区分n 和u的关系,n表示单元个数,u表示每个单元的大小。
n/f/u三个参数可以一起使用。例如:
命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示输出三个单位,u表示按十六进制显示。
输出格式
一般来说,GDB会根据变量的类型输出变量的值。但你也可以自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量 的中的位的情况。要做到这样,你可以使用GDB的数据显示格式:
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。

免责声明:文章转载自《gdb查看内存(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android DeepLink 深度链接技术实现oracle数据库密码修改和解锁下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OC语言·笔记二

1. 属性(Property)和实例变量(instance variable) 1.1 当定义一个属性时,本质上是在干什么(编译器在帮我们干什么): 1) 生成实例变量用来保存属性的值 2) 生成访问器(setter和getter方法)用于修改和访问属性的值 1.2 实际开发中知道的事: 1) 只读属性:只能读取值,不能修改值。这种属性只生成getter方...

Idea 常用快捷键列表

工欲善其事,必先利其器, 开发的过程中好的工具会大大的提高开发效率 下面就是从网上整理了些idea开发环境的快捷键,可以结合着vim插件一起用; 可以达到事半功倍的效果   最常用快捷键1. Ctrl+E,可以显示最近编辑的文件列表2. Shift+Click可以关闭文件3. Ctrl+[或]可以跳到大括号的开头结尾4. Ctrl+Shift+Backs...

速看,APP测试之ADB最全指南!

大家好,我是coco小锦鲤我又来了 我又带着希望和爱来了 ​今天介绍ADB环境搭建及常用的ADB命令 ADB全称Android Debug Bridge, 是android sdk里的一个工具,目的是起到调试桥的作用,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),是客户端测试常用的辅助工具。 借助adb工具,我们可以管...

Robot Framework自动化测试Selenium2Library库详细用法

一、浏览器驱动   通过不同的浏览器执行脚本。   Open Browser Htpp://www.xxx.com chrome   浏览器对应的关键字: firefox FireFox ff internetexplorer   Internet Explorer ie googlechrome   Google Chrome  ...

Oracle——基础知识(一)

   一、Oracle中的数据类型 1、字符串类型。如:char、nchar、varchar2、nvarchar2。2、数值类型。如:int、number(p,s)、integer、smallint。3、日期类型。如:date、interval、timestamp。 4、其他。RAW-用来存储操作系统使用的原始二进制数据,可用于存储像图像或声音记录这样的信...

sass揭秘之变量

全局变量和局部变量 要了解sass或less的变量,有必要先了解下js的变量定义,先来一段js的代码: var a = 1; (function(){ a = 5; })(); console.log(a);//5 上面这段代码,匿名函数里面的a因为没有使用var关键字来定义,所以当我们在函数外打印a的时候,得到的是5,改变了一开始定义的1 var...