登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

守望

路越远,心越近。有多远,走多远!

 
 
 

日志

 
 

GDB使用小记--查看修改内存  

2009-06-25 22:21:10|  分类: 工具使用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
查看内存
命令形式:x/nfu addr
参数说明:n--重复查看的次数,默认值是1。
                    f--输出格式,与print命令使用的格式控制相同。x--hexadecimal,
                   s--null terminated string,i--machine instruction。
                   u--指定输出单元的大小。有以下几种形式:b--Byte,h--Halfword(2bytes)
                         w--word(4Bytes),g--Giant(8Bytes)。本次指定的输出大小将作为
                         下一次使用X命令时的默认值。
                  addr--需要查看的内存的开始地址,可以是寄存器指向的地址($esp, $sp)。
使用示例:<1>x/3uh 0x5432--从地址0x5432开始,输出3个h(半字长:2Bytes)的内容,
                          其内容的显示格式是u(unsigned decimal integers)。
                  <2>x/8xb 0xxxxx--从地址0xxxxx开始,以x(hexadecimal)形式显示8个b(Byte)。

修改内存
命令形式:set * 有类型的指针=value
使用示例:对于void *p = malloc(128)这样分配的地址,可以使用先强制指定类型
                  后再写入值,如:set *((char *)p)= 0x61;set *((char *)p)= ‘a’;
                  set *((char *)(p+110))=‘b';set *(int *)p=0xff;

  评论这张
 
阅读(2934)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018