crash命令 —— search

参考:https://crash-utility.github.io/help_pages/search.html

用法:

  • 设置搜索的起始地址,可以配合下面的-k -u -p等使用
    search -s <起始地址>

  • 搜索内核虚拟地址空间,这个也是默认的搜索选项
    search -k

  • 搜索内核虚拟地址空间,但是会排除vmalloc区、内核模块区以及mem_map区
    search -K

    • 如果想进一步排除unity-mapped、内核代码和数据段,可以使用search -V
  • 在当前进程的用户虚拟地址空间搜索
    search -u

  • 在物理内存地址中搜索
    search -p

  • 在每个进程的内核栈里面搜索
    search -t

    • 比如可以用来搜索锁被哪些进程持有,那么可以在进程的内核栈里搜索锁的地址
  • 在当前正在运行的进程的内核栈里面搜索
    search -T

  • 设置搜索的结束地址
    search -e <结束地址>

  • 设置搜索的空间长度
    search -l <长度>

  • 设置屏蔽位,即搜索时不比较被屏蔽的位,比如设置为0xFFFF0000,表示只比较低16位
    search -m <屏蔽掩码>

    比如:search -p babe0000 -m ffff -w

  • 搜索字符串,如果字符串中间有空格,需要用""将整个字符串括起来
    search -c <字符串>

    比如:search -c "can't allocate memory" "Failure to"

  • 按32位搜索,这个功能只在64位系统上有效,这样可以分别比较高32和低32位
    search -w

  • 按16位搜索
    search -h

  • 当匹配到的时候,在显示时输出匹配到的地址前后一部分内存数据,这里的数量的的单位是被搜索的内容的大小
    search -x <数量>

  • 搜索表达式的值
    search (__down_interruptible+191)

  • 搜索内核符号
    search 内核符号

posted @ 2022-05-28 15:19  dolinux  阅读(569)  评论(0编辑  收藏  举报