GDB使用小记--查看修改内存
2009-06-25 22:21:10| 分类:
工具使用
| 标签:
|举报
|字号大中小 订阅
查看内存
命令形式: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;
评论这张
转发至微博
转发至微博
评论