Skip to content
Perl interface to system call tracing interfaces (strace, ktrace)
Perl
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
My
lib/Sys Epic copy/paste error
t
.gitignore
Changes
MANIFEST.SKIP
Makefile.PL
README

README

NAME
    Sys::Trace - Interface to system call tracing interfaces

SYNOPSIS
      use Sys::Trace;

      my $trace = Sys::Trace->new(exec => [qw(ls foo)]);

      $trace->start; # Returns a PID which you can watch
      $trace->wait;  # Alternatively call this to wait on the PID

      my $result = $trace->results; # Returns a Sys::Trace::Results object

      use Cwd;
      print $result->files(getcwd . "/"); # Should show an attempt to look at "foo"
                                          # in the current directory (i.e. "ls
                                          # foo", above)

DESCRIPTION
    Provides a way to programmatically run or trace a program and see the
    system calls it makes.

    This can be useful during testing as a way to ensure a particular file
    is actually opened, or another hard to test interaction actually occurs.

    Currently supported tracing mechanisms are strace and ktrace.

METHODS
  new(%args)
    Keys in %args can be:

    *   exec: Program and arguments to execute

    *   pid: PID of program to trace

    Only one of exec or pid must be provided.

  start
    Start running the trace.

  wait
    Wait for the trace to finish

  results
    Return a Sys::Trace::Results object populated with the results of the
    trace.

BUGS
    This does what I wanted, it is probably woefully incomplete in places.

    See <http://github.com/dgl/perl-Sys-Trace>.

LICENSE
    This program is free software. It comes without any warranty, to the
    extent permitted by applicable law. You can redistribute it and/or
    modify it under the terms of the Do What The Fuck You Want To Public
    License, Version 2, as published by Sam Hocevar. See
    http://sam.zoy.org/wtfpl/COPYING or Software::License::WTFPL_2 for more
    details.

AUTHOR
    David Leadbeater <dgl@dgl.cx>, 2010

Something went wrong with that request. Please try again.