crash —— 如何连续输出数组中的每个成员?

发布时间 2023-10-31 17:17:26作者: 摩斯电码

当我们知道某个数组的地址,可以使用下面的方法连续输出若干个数组成员的值,而不用每次手动计算下一个数组成员的地址,这里的数组地址可以是直接的内存地址,也可以是一个全局的符号名

  • 示例

/*

page结构体在内存中是连续存放的,如果知道了一个page的地址,下面的
例子连续输出从指定的page开始的连续4个page的flags成员值,如果不加
flags,那么会输出每个page的全部内容

*/
crash> *page.flags -x  ffffea0000000580 4
  flags = 0x800,

  flags = 0x800,

  flags = 0x800,

  flags = 0x800,

如果把4放在中间,那么需要使用-c参数:

crash> *page.flags -x -c 4  ffffea0000000580
  flags = 0x800,

  flags = 0x800,

  flags = 0x800,

  flags = 0x800,