17 个版本 (11 个重大更新)

0.12.0 2023年9月5日
0.10.0 2023年4月20日
0.9.0 2022年8月20日
0.8.0 2021年9月30日
0.2.1 2020年5月29日

#4#ptrace

Download history 45/week @ 2024-04-08 19/week @ 2024-04-15 10/week @ 2024-04-22 19/week @ 2024-04-29 17/week @ 2024-05-13 78/week @ 2024-05-20 13/week @ 2024-05-27 46/week @ 2024-06-03 51/week @ 2024-06-10 48/week @ 2024-06-17 26/week @ 2024-06-24 1/week @ 2024-07-01 19/week @ 2024-07-08 22/week @ 2024-07-15 12/week @ 2024-07-22

每月57次下载
用于 5 个crate(3个直接使用)

ISC 许可证

40KB
652

皮特

Linux 系统调用 ptrace(2) 的友好封装。

要求

当前支持的最小操作系统和编译器版本是

  • Linux 4.8
  • rustc 1.64

仅对 x86_64-unknown-linux-gnu 运行持续测试。

支持较早的Linux版本是可能的,但优先级较低。最终,我们希望支持任何提供 ptrace(2) 的平台。

摘要

ptrace(2) 接口涉及解释一系列 wait(2) 状态。用于解释状态的上下文包括每个被跟踪进程设置的附加选项、之前看到的停止点、最近的ptrace请求,以及在某些情况下,必须使用额外的ptrace调用查询的额外事件数据。

Pete 的目的是允许直接对ptrace-stops进行推理,如手册中所述。我们隐藏了解释ptrace-stops所需的最低级上下文记录。在我们能够做到的情况下,我们避免额外的ptrace调用,转而依赖在库之上实现的下游跟踪器。例如,Pete 可以区分系统调用进入停止和系统调用退出停止,但不会 自动 查询寄存器状态以识别特定的系统调用。

许可证

Pete 根据 ISC 许可证 许可。

贡献

除非你明确声明,否则你提交给 pete 的任何有意贡献都应按 ISC 许可,没有任何额外条款或条件。

依赖关系

~2.5MB
~53K SLoC