免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2369 | 回复: 8
打印 上一主题 下一主题

[内存管理] linux下有没有工具能看到内存值? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-12 13:57 |只看该作者 |倒序浏览
以前做嵌入式的时候有这样的工具:

例如,d 0x00001000,

就会把这段地址对应的内存值或者寄存器值打印出来

论坛徽章:
2
CU大牛徽章
日期:2013-04-17 11:46:28CU大牛徽章
日期:2013-04-17 11:46:39
2 [报告]
发表于 2012-07-12 17:25 |只看该作者
内核的,还是应用的?哪个应用的?貌似这些都有区别吧

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
3 [报告]
发表于 2012-07-12 19:18 |只看该作者
回复 1# liuhew
GDB?

   

论坛徽章:
0
4 [报告]
发表于 2012-07-12 22:28 |只看该作者
内核可以考虑 kgdb

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
5 [报告]
发表于 2012-07-13 07:25 |只看该作者
回复 2# cdtits
内核的,还是应用的?哪个应用的?貌似这些都有区别吧

估计楼主的意思是针对物理地址的吧,如果是那样的话就没有区别了。

   

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
6 [报告]
发表于 2012-07-13 07:26 |只看该作者
回复 1# liuhew
如果是物理地址和寄存器的话,还是可以自己实现的。
物理地址直接mmap /dev/mem,然后读出相应地址的内容就可以了。
寄存器可以直接读取。

   

论坛徽章:
0
7 [报告]
发表于 2012-07-13 14:28 |只看该作者
怎么没找到mmap这个命令,是个函数么?

最好当然是虚拟地址了,更直观,本身和物理地址也有映射关系嘛。其实主要就是想看各寄存器的值,因为在开发板上,有很多模块的配置什么的都映射到了物理地址上。

论坛徽章:
0
8 [报告]
发表于 2012-07-15 18:23 |只看该作者
如果是虚拟地址的话,
每个进程都有自己的独立的虚拟地址,被映射到不同的物理空间。
使用gdb这类调试工具attach到相应进程查看。

当然如果这个比较麻烦,可以结合shell调用gdb。
参考下面链接中pstrace脚本的实现:http://lenky.info/2012/06/30/%E8 ... %E6%81%AF%EF%BC%9F/

论坛徽章:
0
9 [报告]
发表于 2012-07-16 12:10 |只看该作者
busybox 里面有个 devmem, devmem phy_ddr 就可以读出数值了,同时也可以改变
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP