使用 Systemtap 探测获取 Linux 中每个读写操作的字节虚拟地址位置

使用 Systemtap 探测获取 Linux 中每个读写操作的字节虚拟地址位置

使用 Systemtap 探测工具,我通过探测 syscall.read 和 syscall.read.return 函数获得了获取文件读取的字节总数的方法。 syscall.read.return 有 returnval() ,它给出了读取的字节总量。我需要获取每个读写操作的字节虚拟地址。我怎样才能在Linux中使用Systemtap探测工具来实现这一点。

答案1

以下 SystemTap 脚本允许您以字符串形式获取读取的字节:

probe syscall.read.return
{
  printf("writen_bytes_as_a_string=%s\n", user_string_n(@entry($buf),$return))
}

相关内容