用gdb查看内存
格式: x /nfu <addr>
说明x 是 examine 的缩写
n表示要显示的内存单元的个数
f表示显示方式, 可取如下值x 按十六进制格式显示变量。d 按十进制格式显示变量。u 按十进制格式显示无符号整型。o 按八进制格式显示变量。t 按二进制格式显示变量。a 按十六进制格式显示变量。i 指令地址格式c 按字符格式显示变量。f 按浮点数格式显示变量。
u表示一个地址单元的长度b表示单字节,h表示双字节,w表示四字节,g表示八字节
Format letters are o(octal), x(hex), d(decimal), u(unsigned decimal),t(binary), f(float), a(address), i(instruction), c(char) and s(string).Size letters are b(byte), h(halfword), w(word), g(giant, 8 bytes)
举例x/3uh buf 表示从内存地址buf读取内容,h表示以双字节为一个单位,3表示三个单位,u表示按十六进制显示
例子:
n是个局部变量
Breakpoint 1, main (argc=1, argv=0xbffff3a4) at calc.c:77 int n = atoi(argv[1]);(gdb) print &n$1 = (int *) 0xbffff2ec(gdb) x 0xbffff2ec0xbffff2ec: 0x00282ff4(gdb) print * (int *) 0xbffff2ec$2 = 2633716(gdb) x /4xw 0xbffff2ec0xbffff2ec: 0x00282ff4 0x080484e0 0x00000000 0xbffff378(gdb) x /4dw 0xbffff2ec0xbffff2ec: 2633716 134513888 0 -1073745032(gdb)
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(66) | 评论(0) | 转发(0) | 0上一篇:Shell脚本常识(基本知识)
下一篇:虚拟地址的结构与操作
相关热门文章 linux 常见服务端口xmanager 2.0 for linux配置【ROOTFS搭建】busybox的httpd...openwrt中luci学习笔记Linux里如何查找文件内容... 给主人留下些什么吧!~~ 评论热议