linux syscall tracer

strace is a diagnostic, debugging and instructional userspace utility with a traditional command-line interface for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state. The operation of strace is made possible by the kernel feature known as ptrace.

strace is one of the longest running free software projects and started even before Linux started.

strace is an important tool for debugging and tracing deployed on most Linux distributions with a small community of active contributors.

lightbulb_outline View ideas list


  • linux
  • c
  • git
  • shell script
  • make


comment IRC Channel
email Mailing list

strace 2017 Projects

  • JingPiao Chen
    "Netlink socket parsers" By Gabriel Laskar and Dmitry V. Levin, 2017
    Netlink is a network protocol that is used to communicate between the kernel and the userspace. For example, iproute use netlink in order to...
  • Nikolay Marchuk
    Advanced syscall filtering syntax
    Current strace filtering syntax allows to debug simple applications. But it has no support for advanced filtering. For example, it is impossible to...
  • Edgar Kaziakhmedov
    Advanced syscall information tool
    Everyone accepts that strace is one the most useful program for developers. And to make the output more understandable, I want to improve the...
  • Viktor Krapivenskiy
    Advanced syscall tampering and filtering with Lua/LuaJIT
    A support for Lua-scriptable syscall tampering and filtering will be added. It will be possible to inspect syscall arguments (including...