【问题标题】:kprobe vs uprobe system call interpositionkprobe vs uprobe 系统调用插入
【发布时间】:2012-12-26 13:53:48
【问题描述】:

我想用Utrace写一个系统调用插入。我了解到 Utrace 项目已被放弃,但其部分代码用于 kprobe 和 uprobe。

我不太了解这些是如何工作的。特别是 uprobe 你能解释一下它们之间有什么区别吗?我可以在不编写模块的情况下使用 uprobe 来检查系统调用的实际参数吗?

谢谢

【问题讨论】:

  • 你为什么要标记linux-device-driverselinux

标签: linux linux-kernel linux-device-driver system-calls selinux


【解决方案1】:

Kprobe 在内核代码中创建和管理探测点,也就是说,您要探测一些内核函数,例如 do_sys_open()。您需要查看Documentation/trace/kprobetrace.txt 以了解 kprobe 的一些用法。

Uprobe 在用户应用程序中创建和管理探查点,也就是说,您想探查一些用户空间功能,但探查代表被探查的进程在内核空间中运行。你需要看一下Documentation/trace/uprobetracer.txt,了解uprobe的基本用法,看看它的用途。

【讨论】:

  • 感谢您的回答:我已经看过这些文件。如何使用 uprobe 跟踪进程而不是 bin 文件?
猜你喜欢
  • 2012-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 2020-01-04
  • 2013-11-27
  • 2014-11-21
相关资源
最近更新 更多