Mirror of strace – the linux syscall tracer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Gleb Fotengauer-Malinovskiy fa82fca19b powerpc, x86_64: drop support of very old kernels 2 years ago
debian Update homepage URL 2 years ago
linux powerpc, x86_64: drop support of very old kernels 2 years ago
m4 m4: fix check-valgrind-* rules generated by AX_VALGRIND_CHECK 2 years ago
maint maint: update for linux 4.11 2 years ago
qemu_multiarch_testing qemu_multiarch_testing/*: make it easier to do debug in sandboxes 4 years ago
test test: rename README to README.md 2 years ago
tests aarch64: workaround gcc+kernel bug 2 years ago
xlat Update BPF_MAP_TYPE_* constants 2 years ago
.gitignore .gitignore: add missing files that should be ignored 2 years ago
.mailmap .mailmap: add addresses of JingPiao Chen 2 years ago
.travis.yml travis: do coverage using a dedicated build 2 years ago
AUTHORS 2002-12-22 Roland McGrath <roland@redhat.com> 17 years ago
COPYING Update all publicly shown copyright year number ranges 2 years ago
CREDITS.in CREDITS.in: add Jian Zhen 4 years ago
ChangeLog-CVS Generate ChangeLog from git log 10 years ago
HACKING-scripts ioctl: take all 32 bits of ioctl commands into account 4 years ago
INSTALL INSTALL: regenerate from install.texi 2 years ago
INSTALL-git.md Update information on how to build strace from git repository 2 years ago
Makefile.am powerpc, x86_64: drop support of very old kernels 2 years ago
NEWS powerpc, x86_64: drop support of very old kernels 2 years ago
README Update homepage URL 2 years ago
README-hacking Update information on how to build strace from git repository 2 years ago
README-linux-ptrace README-linux-ptrace: correct the description of suppressed signals 7 years ago
README-mpers mpers: add support of conditionally compiled printers 3 years ago
README.md README.md: rework guidelines about sending bug reports 2 years ago
access.c access.c: make use of RVAL_DECODED 4 years ago
affinity.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
aio.c aio: print hexadecimal integer using %#x 2 years ago
alpha.c alpha: fix decoding of osf_statfs and osf_fstatfs syscalls 3 years ago
bjm.c Remove getarg_klu 2 years ago
block.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
bootstrap tests: use correct m32/mx32 st_mtime_nsec checks in tests/xstatx.c 3 years ago
bpf.c Use tprints instead of tprintf in a few more places 2 years ago
btrfs.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
build_static_example.sh Use bootstrap script consistently 5 years ago
cacheflush.c bfin: fix decoding of cacheflush syscall 3 years ago
capability.c Fix -Werror=duplicate-decl-specifier compilation issues 2 years ago
caps0.h Move CAP_* definitions out to header files 4 years ago
caps1.h Move CAP_* definitions out to header files 4 years ago
chdir.c chdir.c: make use of RVAL_DECODED 4 years ago
chmod.c Fix printing of mode_t, umode_t, and umask types 3 years ago
clone.c defs.h: stop including <asm/unistd.h> 2 years ago
configure.ac bpf: update BPF_PROG_ATTACH decoding 2 years ago
copy_file_range.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
count.c Lowercase SCNO_IN_RANGE and SCNO_IS_VALID 2 years ago
defs.h aarch64: workaround gcc+kernel bug 2 years ago
desc.c Introduce NSIG_BYTES 2 years ago
dirent.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
dirent64.c Fix decoding of 3rd argument of getdents/getdents64 syscalls 3 years ago
dm.c Use tprints instead of tprintf in a few more places 2 years ago
empty.h Add mpers support 4 years ago
epoll.c Introduce NSIG_BYTES 2 years ago
errnoent.sh Change errnoent.h files to use designated initializers 4 years ago
evdev.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
eventfd.c Add copyright headers to some files which lack them 3 years ago
execve.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fadvise.c Remove getarg_klu 2 years ago
fallocate.c fallocate: change print format of offset and len arguments to signed 3 years ago
fanotify.c Fix printing of fanotify_mark mask argument 3 years ago
fchownat.c fchownat.c: make use of RVAL_DECODED 4 years ago
fcntl.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
fetch_seccomp_fprog.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_flock.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_mmsghdr.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_msghdr.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_stat.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_stat64.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fetch_struct_statfs.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
file_handle.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
file_ioctl.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
flock.c desc.c: move parser of flock syscall to a separate file 4 years ago
flock.h Change #include guard trailing part comments 3 years ago
fs_x_ioctl.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
fstatfs.c Fix decoding of statfs family syscalls 3 years ago
fstatfs64.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
futex.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
gcc_compat.h Rename BUILD_BUG_ON_ZERO macro 3 years ago
generate_mpers_am.sh Consistently use extended regular expressions where appropriate 3 years ago
generate_sen.sh Generate SEN numbers in a locale independent order 3 years ago
get_robust_list.c Add copyright headers to some files which lack them 3 years ago
getcpu.c getcpu.c: use printnum_int and printaddr 4 years ago
getcwd.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
getrandom.c getrandom: print string as hex-escaped 2 years ago
git-set-file-times Update auxiliary maintainer mode build tools 4 years ago
git-version-gen git-version-gen: replace '-' with '.' in generated version 3 years ago
gitlog-to-changelog Update auxiliary maintainer mode build tools 4 years ago
hdio.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
hostname.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
inotify.c Add copyright headers to some files which lack them 3 years ago
install.texi install.texi: remove irrelevant sections 2 years ago
io.c x32: fix decoding of flags argument of preadv2 and pwritev2 syscalls 2 years ago
ioctl.c Split scsi.c 2 years ago
ioctl_iocdef.c ioctlsort: get ioctl definitions from host, not build 2 years ago
ioctlsort.c ioctlsort: get ioctl definitions from host, not build 2 years ago
ioperm.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
iopl.c Implement iopl syscall decoding 4 years ago
ioprio.c Prepare for transition from xlookup64 to xlookup 3 years ago
ipc.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ipc_defs.h Change #include guard trailing part comments 3 years ago
ipc_msg.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ipc_msgctl.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
ipc_sem.c ipc_sem: print 4th argument of semctl syscall as an address 2 years ago
ipc_shm.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ipc_shmctl.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
kcmp.c Remove getarg_klu 2 years ago
kernel_types.h Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
kexec.c Remove getarg_klu 2 years ago
keyctl.c Remove getarg_klu 2 years ago
ldt.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
link.c Add copyright headers to some files which lack them 3 years ago
lookup_dcookie.c Remove getarg_klu 2 years ago
loop.c loop: remove unnecessary verbose check 2 years ago
lseek.c lseek: simplify _llseek syscall decoder 2 years ago
make-dist make-dist: use HEAD for making distribution package 3 years ago
make-dsc Consistently use extended regular expressions where appropriate 3 years ago
mem.c Introduce ANY_WORDSIZE_LESS_THAN_KERNEL_LONG macro 2 years ago
membarrier.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
memfd_create.c printstr: rename to printstrn, add printstr as a thin wrapper 2 years ago
mknod.c Move device number printing code into a separate routine 2 years ago
mmsghdr.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
mount.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
mpers.awk mpers.awk: relax union member name absence check 3 years ago
mpers.sh Consistently use extended regular expressions where appropriate 3 years ago
mpers_test.sh mpers: add MPERS_IS_* to CFLAGS passed to mpers.sh 3 years ago
mpers_type.h Change #include guard trailing part comments 3 years ago
mq.c Use tprints instead of tprintf in a few more places 2 years ago
msghdr.c Simplify personality checks in msghdr.c and signal.c 2 years ago
msghdr.h Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
mtd.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
native_defs.h Simplify use of mpers printers 4 years ago
net.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
netlink.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
nsig.h Introduce NSIG_BYTES 2 years ago
numa.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
oldstat.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
open.c Provide a safe definition of O_ACCMODE 3 years ago
or1k_atomic.c Use printxval64 instead of printxval_long 2 years ago
pathtrace.c Implement decoding of statx syscall 2 years ago
perf.c Use tprints instead of tprintf in a few more places 2 years ago
perf_event_struct.h Implement decoding of perf_event_attr structure in perf_event_open syscall 3 years ago
personality.c Handle unlikely errors from personality syscall 3 years ago
pkeys.c Remove getarg_klu 2 years ago
poll.c Introduce NSIG_BYTES 2 years ago
prctl.c prctl: print pointer returned by PR_GET_TID_ADDRESS as kernel long 2 years ago
print_dev_t.c Move device number printing code into a separate routine 2 years ago
print_mq_attr.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
print_msgbuf.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
print_sg_req_info.c scsi: implement decoding of all SG_* ioctl commands 2 years ago
print_sigevent.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
print_statfs.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
print_struct_stat.c print_struct_stat.c: macroize printing of atime, mtime, and ctime fields 2 years ago
print_time.c Split print_time.c 3 years ago
print_timespec.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
print_timeval.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
print_timex.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
printmode.c Fix printing of mode_t, umode_t, and umask types 3 years ago
printrusage.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
printsiginfo.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
printsiginfo.h Change #include guard trailing part comments 3 years ago
process.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
process_vm.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ptp.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ptrace.h Remove NEED_PTRACE_PROTOTYPE_WORKAROUND 2 years ago
qualify.c Implement -e trace=%sched option for tracing sched_* syscalls 2 years ago
quota.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
readahead.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
readlink.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
reboot.c printstr: rename to printstrn, add printstr as a thin wrapper 2 years ago
regs.h Change #include guard trailing part comments 3 years ago
renameat.c renameat.c: make use of RVAL_DECODED 4 years ago
resource.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
rt_sigframe.c Introduce get_rt_sigframe_addr function 2 years ago
rt_sigreturn.c Implement proper decoding of rt_sigreturn syscall 2 years ago
rtc.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
sched.c aarch64: workaround gcc+kernel bug 2 years ago
sched_attr.h Move definition of struct sched_attr to a separate header file 2 years ago
scno.am Generate scno.h without invoking a generated executable helper 2 years ago
scno.head Generate scno.h without invoking a generated executable helper 2 years ago
scsi.c scsi: implement decoding of all SG_* ioctl commands 2 years ago
seccomp.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
seccomp_fprog.h Change #include guard trailing part comments 3 years ago
sendfile.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
sg_io_v3.c sg_io: cleanup printing of sg_io buffers 2 years ago
sg_io_v4.c sg_io_v4: print din_resid and dout_resid fields as signed integers 2 years ago
sigaltstack.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
sigevent.h Change #include guard trailing part comments 3 years ago
signal.c Introduce print_sigset_addr function 2 years ago
signalent.sh Tidy up includes and copyright notices, fix indentation 7 years ago
signalfd.c Introduce NSIG_BYTES 2 years ago
sigreturn.c Move NSIG ifdefery to a separate header file 2 years ago
sock.c Mpersify SIOC* ioctls 2 years ago
sockaddr.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
socketcall.c Do not print too many arguments of socketcall syscall 3 years ago
socketutils.c xlat: provide fallback definitions for NETLINK_* constants 2 years ago
sram_alloc.c Use printflags64 instead of printflags_long 2 years ago
stat.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
stat.h Mpersify parsers of struct stat and struct stat64 3 years ago
stat64.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
statfs.c Fix decoding of statfs family syscalls 3 years ago
statfs.h Change #include guard trailing part comments 3 years ago
statfs64.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
statx.c Implement decoding of statx syscall 2 years ago
statx.h Implement decoding of statx syscall 2 years ago
strace-graph strace-graph: handle pid looping 2 years ago
strace-log-merge strace-log-merge: fix file suffix calculation 7 years ago
strace.1 Implement -e trace=%sched option for tracing sched_* syscalls 2 years ago
strace.c Prepare for introduction of -e inject= option 2 years ago
strace.spec.in Update homepage URL 2 years ago
swapon.c swap: always print priority value 2 years ago
sync_file_range.c Move parsers of sync_file_range and sync_file_range2 syscalls to libstrace 3 years ago
sync_file_range2.c Move parsers of sync_file_range and sync_file_range2 syscalls to libstrace 3 years ago
syscall.c powerpc, x86_64: drop support of very old kernels 2 years ago
syscallent.sh Tidy up includes and copyright notices, fix indentation 7 years ago
sysctl.c Use ptr_to_kulong instead of explicit casts of pointers to kernel_ureg_t 2 years ago
sysent.h Implement -e trace=%sched option for tracing sched_* syscalls 2 years ago
sysinfo.c Rename widen_to_ull to zero_extend_signed_to_ull 3 years ago
syslog.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
sysmips.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
term.c term: do not abort decoding in case of non-verbose output 2 years ago
time.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
times.c Remove HAVE_STRUCT_TCB_EXT_ARG, ext_arg, and u_lrval 2 years ago
travis-build.sh travis: fix enabling of gcc -Werror builds 2 years ago
travis-install.sh travis: do coverage using a dedicated build 2 years ago
truncate.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
ubi.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
uid.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
uid16.c Fix decoding of 16-bit *chown and [gs]et*[gu]id syscalls 4 years ago
umask.c Fix printing of mode_t, umode_t, and umask types 3 years ago
umount.c Update umount2 flags 3 years ago
uname.c Add copyright headers to some files which lack them 3 years ago
unwind.c unwind.c: fix a possible buffer overflow 2 years ago
upeek.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
upoke.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
userfaultfd.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
ustat.c Implement decoding of ustat syscall 2 years ago
util.c aarch64: workaround gcc+kernel bug 2 years ago
utime.c utime: fix omission of field names in utimbuf structure printing 3 years ago
utimes.c Add copyright headers to some files which lack them 3 years ago
v4l2.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
wait.c Automatically replace kernel_(scno|ureg)_t with kernel_ulong_t 2 years ago
xattr.c Automatically replace PRI_kr[dux] with PRI_kl[dux] 2 years ago
xlat.h Change #include guard trailing part comments 3 years ago
xlate.el Tidy up includes and copyright notices, fix indentation 7 years ago
xmalloc.c Add copyright headers to some files which lack them 3 years ago

README.md

strace - the linux syscall tracer

This is strace -- 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 released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYING for details.

See the file NEWS for information on what has changed in recent versions.

Please read the file INSTALL-git for installation instructions.

The user discussion and development of strace take place on the strace mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to strace-devel@lists.sourceforge.net. The mailing list archives are available at https://sourceforge.net/p/strace/mailman/strace-devel/ and other archival sites.

Build Status Code Coverage