2022
1 project
Support for BTF and other BPF decoding improvements
The purpose of this project is to extract BTF information for eBPF maps, process it in a human-readable manner, and improve decoding for the bpf()...

Development tools
Linux syscall tracer
1 project
The purpose of this project is to extract BTF information for eBPF maps, process it in a human-readable manner, and improve decoding for the bpf()...
1 project
Many system call decoders in strace are very similar in structure. This proposal aims to incorporate a system for generating syscall decoders from a...
1 project
When strace is tracing a process which is in an other process namespace than strace itself, PIDs in system call arguments and return values are...
2 projects
Direct Rendering Manager subsystem has pretty elaborate ioctl interface, and it might be useful to be able to support its decoding.
strace currently adds significant overhead to any application it traces. Even when users are interested in a handful of syscalls, strace will...
2 projects
SECCOMP_RET_TRACE seccomp API could be used to implement a more efficient syscall filtering. Using this technique, tracees will be stopped on...
The point of this project is about coverage of branches of parsers as well as corner cases. In other words, there are mainly two parts. At first, add...
4 projects
Everyone accepts that strace is one the most useful program for developers. And to make the output more understandable, I want to improve the...
Netlink is a network protocol that is used to communicate between the kernel and the userspace. For example, iproute use netlink in order to...
Current strace filtering syntax allows to debug simple applications. But it has no support for advanced filtering. For example, it is impossible to...
A support for Lua-scriptable syscall tampering and filtering will be added. It will be possible to inspect syscall arguments (including...
4 projects
Strace is an essential tool which has been ported to multiple architectures. To confidently ship release, we need to ensure each new commit has been...
Netlink is, basically, an API used to transfer information between kernel and user-space processes. It consists on a standard sockets-based interface...
Fault injection is something that could be really usefull in many ways for developpers and testers. It could be used in test suites context to assert...
Parsing current strace output is not an ideal solution, because: this is excessively difficult: the output is intended to humans, not robots;...