参考:https://crash-utility.github.io/help_pages/tree.html
用法:
- 指定要搜索的树的类型,如果不指定,默认是红黑树类型
tree -t <树类型>
树类型 | 简写 | 含义 |
radix | ra | B树 |
xarray | x | B树 |
rbtree | rb | 红黑树 |
- 如果传入的地址是一个包含
树根
的数据结构,那么需要指定树根
在这个结构体中的偏移,偏移的表达方式有两种:structure.member
或直接的一个偏移数值
。如果偏移为0,那么可以不传这个-r
参数tree -r <偏移>
- 这里说的
树根
结构是如下三种:
树根 | 含义 |
radix_tree_root | |
xarray | |
rb_root |
- 如果传入的
树根
地址tree -N <地址>
- 当然此时也可以使用
tree <地址>
- 设置
树叶rb_node
在要查看的数据结构中的偏移,这个仅用于红黑树,因为rb_node
是内嵌在数据结构中,然后该数据结构通过这个rb_node挂到红黑树里。而对于另外两个B树
是将数据结构的地址直接赋值在树叶
中,所以不需要树叶
偏移tree -t rb -o <偏移>
- 注意与
-r
的区分。这个参数适用于三个树结构,表示的是树根
在包含它们的数据结构中的偏移。
比如:tree -t rbtree -o vmap_area.rb_node vmap_area_root
- 输出挂在数里的数据结构的成员
tree -s struct.member tree -s struct.member.member tree -s struct.member[index] tree -s struct.member1,member2,member3[index] FSHARP 复制 全屏
- 输出红黑树的内容,仅用于红黑树
tree -l
- 输出树中树节点的位置关系
tree -p