Chinaunix首页 | 论坛 | 博客
  • 博客访问: 285913
  • 博文数量: 124
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 21
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-20 14:44
文章分类

全部博文(124)

文章存档

2020年(1)

2018年(2)

2016年(2)

2015年(6)

2014年(10)

2013年(23)

2012年(7)

2011年(18)

2010年(15)

2009年(8)

2007年(8)

2006年(23)

2005年(1)

我的朋友

分类: 系统运维

2010-07-15 17:02:05


1. mdb 变量。
mdb的变量中实际记录的是该变量的地址。
> rootvfs/J
rootvfs:
rootvfs:        fffffffffbcaaab0
> fffffffffbcaaab0/J
root:
root:           fffffffffbcaa910
> root/J
root:
root:           fffffffffbcaa910
解释如下,从二三两个命令的结果相同,可以理解为root=fffffffffbcaaab0。实际上 root可以理解为内容中的一个变量。变量的地址是fffffffffbcaaab0,该变量的值实际为fffffffffbcaa910。其实此处的 root如果在C中应该是&root。

2.dot的更新。dot中记录了上一次命令求值的地址。
> rootvfs/J
rootvfs:
rootvfs:        fffffffffbcaaab0
> ./J
rootvfs:
rootvfs:        fffffffffbcaaab0
> /J
rootvfs:
rootvfs:        fffffffffbcaaab0
此处三个示例。dot的值一直是rootvfs。
> root,4/X
root:
root:           fbcaa910        ffffffff        8616a5c0        ffffff00        
> /X
root+0xc:       ffffff00
此处的命令,第一个是循环打印内存的值。所以四次dot都在更新。最后再运行 /X是,打印上一命令的最后一次地址更新处的值。

3求取符号的值。
rootvfs=X(J等是类似的)

4.::print 中type的用法。(print 打印结构体)
此处的type是写结构体的名字,(用法与c相同)。如果一个类型是tyepdef出来的。则可以 直接写在type处,否则须写为struct type_name
如:76a50::print -t 'aio_worker_t'   或者
   76a50::print -t 'struct aio_worker'
5.> 是一个内置命令,而<则不是,他是一个运算。

6. 修改变量的值。
rootvfs/W value (注,此时应该用mdb -w启动,否则没有写权限)

7.mdb在调试内核或 者内核coredump文件时有
$
8. ::ps命令可以完成类似操作系统ps的功能, 还可以跟grep连用.此时的管道用!代替. 如>::ps -f ! grep hello

9. ::dcmds可以列出所有的可用命令, ::help可以得到更高层的帮助信息.

10. ::cpuinfo可以列出当前在占用cpu的进程, 估计也就是导致crash的进程了.
阅读(2695) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~