Chinaunix

标题: linux下有没有工具能看到内存值? [打印本页]

作者: liuhew    时间: 2012-07-12 13:57
标题: linux下有没有工具能看到内存值?
以前做嵌入式的时候有这样的工具:

例如,d 0x00001000,

就会把这段地址对应的内存值或者寄存器值打印出来
作者: cdtits    时间: 2012-07-12 17:25
内核的,还是应用的?哪个应用的?貌似这些都有区别吧
作者: linuxfellow    时间: 2012-07-12 19:18
回复 1# liuhew
GDB?

   
作者: luoyan_xy    时间: 2012-07-12 22:28
内核可以考虑 kgdb
作者: 瀚海书香    时间: 2012-07-13 07:25
回复 2# cdtits
内核的,还是应用的?哪个应用的?貌似这些都有区别吧

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

   
作者: 瀚海书香    时间: 2012-07-13 07:26
回复 1# liuhew
如果是物理地址和寄存器的话,还是可以自己实现的。
物理地址直接mmap /dev/mem,然后读出相应地址的内容就可以了。
寄存器可以直接读取。

   
作者: liuhew    时间: 2012-07-13 14:28
怎么没找到mmap这个命令,是个函数么?

最好当然是虚拟地址了,更直观,本身和物理地址也有映射关系嘛。其实主要就是想看各寄存器的值,因为在开发板上,有很多模块的配置什么的都映射到了物理地址上。
作者: hellolwq    时间: 2012-07-15 18:23
如果是虚拟地址的话,
每个进程都有自己的独立的虚拟地址,被映射到不同的物理空间。
使用gdb这类调试工具attach到相应进程查看。

当然如果这个比较麻烦,可以结合shell调用gdb。
参考下面链接中pstrace脚本的实现:http://lenky.info/2012/06/30/%E8 ... %E6%81%AF%EF%BC%9F/
作者: hellowxw    时间: 2012-07-16 12:10
busybox 里面有个 devmem, devmem phy_ddr 就可以读出数值了,同时也可以改变




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2