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
每月57次下载
用于 5 个crate(3个直接使用)
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