strace v5.1 releases: diagnostic, debugging and instructional userspace utility
strace – the Linux syscall tracer
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 troubleshooters 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.
The operation of strace is made possible by the kernel feature known as ptrace.
Some of the features
- Attach to an already running process
- Filter by type of syscall
- Trace only system calls accessing given path
- Perform a full hexadecimal and ASCII dump of all the data read from/written to file descriptors
- Perform a syscall fault injection
- Count time, calls, and errors for each system call
- Bug fixes
- Fixed decoding of last two arguments of clone syscall on riscv.
- Added C-SKY architecture support.
- Implemented decoding of SO_TIMESTAMP*_NEW control messages.
- Implemented decoding of clock_gettime64, clock_settime64, clock_adjtime64,
clock_getres_time64, clock_nanosleep_time64, timer_gettime64,
timer_settime64, timerfd_gettime64, timerfd_settime64, utimensat_time64,
pselect6_time64, ppoll_time64, io_pgetevents_time64, recvmmsg_time64,
mq_timedsend_time64, mq_timedreceive_time64, semtimedop_time64,
rt_sigtimedwait_time64, futex_time64, sched_rr_get_interval_time64,
pidfd_send_signal, io_uring_setup, io_uring_enter, and io_uring_register
- Enhanced decoding of bpf syscall.
- Wired up getegid, geteuid, getppid, io_pgetevents, statfs64, and fstatfs64
syscalls on alpha.
- Wired up kexec_file_load and migrate_pages syscalls on arm.
- Wired up io_pgetevents, perf_event_open, seccomp, and statx syscalls
- Wired up seccomp syscall on m68k.
- Wired up statx syscall on sh.
- Wired up pkey_mprotect, pkey_alloc, and pkey_free syscalls on alpha, hppa,
ia64, m68k, s390, s390x, sh, sparc, and sparc64.
- Wired up rseq syscall on alpha, hppa, ia64, m68k, sh, sparc, sparc64,
- Wired up direct ipc syscalls on m68k, mips o32, powerpc, powerpc64,
s390, s390x, sh, sparc, sparc64, and x86.
- Updated lists of BPF_*, FAN_*, F_SEAL_*, IPV6_*, NT_*, PR_SPEC_*, SO_*,
and V4L2_* constants.
- Updated lists of ioctl commands from Linux 5.1.
git clone https://github.com/strace/strace.git cd strace ./configure && make && make install
Copyright (c) 1991, 1992 Paul Kranenburg <firstname.lastname@example.org>
Copyright (c) 1993 Branko Lankester <email@example.com>
Copyright (c) 1993 Ulrich Pegelow <firstname.lastname@example.org>
Copyright (c) 1995, 1996 Michael Elizabeth Chastain <email@example.com>
Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <firstname.lastname@example.org>
Copyright (c) 1998-2001 Wichert Akkerman <email@example.com>
Copyright (c) 2001-2018 The strace developers.
All rights reserved.