Eugene Syromyatnikov evgsyr at
Sun Nov 19 17:04:48 UTC 2017

On Sun, Nov 19, 2017 at 4:32 PM, gou4shi1 <admin at> wrote:
> Thanks for you response.
> However, there are so many files, how can I get the overall structure of the
> project?

Most of the files contain decoders for specific syscalls (like mount.c, statx.c,
getcpu.c, and so on) or groups of syscalls (like mem.c, signal.c,
fanotify.c, ...).
There are several files that contain generic strace code (strace.c,
util.c, defs.h,
syscall.c) and some auxiliary files with helper functions (like
ucopy.c or xmalloc.c).
The pretty common autotools-related stuff is here as well (like,
m4 directory, and so on). The xlat directory contains files with related named
constants decriptions; they are processed to headers with
script. The tests
directory contains tests. The maint directory is a palce for
maintenance scripts used
for the distribution preparation process. The linux directory contains
various headers
with definitions specific to architectures (like arch_get_scno for
obtaining syscall
number, or syscallent with table of syscall descriptions). If you have
any further specific questions,
don't hesitatte to ask.

> or another simpler question, which file is the entry of strace?(because
> maybe I can start from this file)

The strace.c file contains main routine.

Eugene Syromyatnikov
mailto:evgsyr at
xmpp:esyr at jabber.{ru|org}

More information about the Strace-devel mailing list