FreeBSD Manual Pages
Sys::Trace(3) User Contributed Perl Documentation Sys::Trace(3) 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 ktrace, strace and truss. METHODS new(%args) Keys in %args can be: o exec: Program and arguments to execute o pid: PID of program to trace o follow_forks: Follow child processes too (default is 1, set to 0 to disable) 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 perl v5.32.1 2010-07-05 Sys::Trace(3)
NAME | SYNOPSIS | DESCRIPTION | METHODS | BUGS | LICENSE | AUTHOR
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Sys::Trace&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>