strace is a diagnostic, debugging and instructional userspace utility 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.
System administrators, diagnosticians and trouble-shooters will find it invaluable for solving problems with programs for which the source is not readily available since they do not need to be recompiled in order to trace them.
+ Attach to an already running process.
+ Count time, calls, and errors for each system call.
+ Filter by type of syscall.
+ Perform a full hexadecimal and ASCII dump of all the data read from/written to file descriptors.
+ Perform a syscall fault injection.
Use and Download:
git clone https://github.com/strace/strace && cd strace
./strace -p 26380
./strace -c ls > /dev/null