Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.2 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Utilities

    sreplay 0.2.9

    Download button

    No screenshots available
    Downloads: 463  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Amos Waterland | More programs
    LGPL / FREE
    June 25th, 2007, 18:35 GMT
    ROOT / Utilities

     Read user reviews (0)  Refer to a friend  Subscribe

    sreplay description

    sreplay is a tool that performs system call replay of strace logs on UNIX-like operating systems.

    sreplay is a tool that performs system call replay of strace logs on UNIX-like operating systems. The project is written in assembly and C, and is free software licensed under the LGPL. It supports simple dynamically-linked application replay under i386 and ppc64 Linux at present.

    sreplay can be thought of as a virtual application. It is a freestanding program that has just enough logic to get itself running and then parse and replay a trace of system calls. It understands the trace format produced by the standard strace utility. Note that it does not attempt to preserve any timing information or trap loads and stores; it just takes an strace log and executes the system calls recorded therein.

    It is mostly useful for bringup of experimental operating systems. Since it is an entirely free-standing program (no libgcc or libc), the kernel can blast it into memory with the desired trace and leap at its entry point. In this way, a kernel designer can make sure his kernel properly supports the common code paths through a proprietary database management system (for example) by obtaining a trace thereof.

    A freestanding program is one that does not rely on code provided by the compiler runtime library or the system C library. Operating system kernels, hypervisors and bootloaders are freestanding for obvious reasons, but sreplay is so because the code provided by libc makes system calls before handing control to main. Because our goal is to make sreplay execute only those system calls provided in a trace, it must be freestanding. For similar reasons, the trace is accepted as a literal command line argument, because opening a file would involve one or more system calls. The alternative is to embed the trace as a seperate ELF section in the sreplay binary, similar to Linux's zImage format, but we have chosen to pursue the simplicity of the argv approach for now.

    Example

    In the following, we record and replay a simple dynamically-linked program:

    $ strace /bin/echo 'Hello, world!' 2> hello.strace
    Hello, world!
    $ sreplay --dry-run $(cat hello.strace)
    SYS: execve
    ARG: /bin/echo
    ARG: [/bin/echo
    ARG: Hello,world!]
    ARG: [/*40vars*/]
    RET: 0

    SYS: uname
    ARG: {sys=Linux,node=cluster013,...}
    RET: 0
    ...
    SYS: exit_group
    ARG: 0
    RET: ?
    $ sreplay $(cat hello.strace)
    Hello, world!

    What's New in This Release:

    · Support for the lstat64, readlink, gettimeofday, and stat system calls.



    Product's homepage

      


    TAGS:

    system call replay | strace call | strace logs | sreplay | strace | logs

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM