Main > Free Download Search >

Free devel carnivore 0.09 software for linux

devel carnivore 0.09

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 189
Devel::Carnivore 0.09

Devel::Carnivore 0.09


Devel::Carnivore is a Perl module to spy on your hashes (and objects). more>>
Devel::Carnivore is a Perl module to spy on your hashes (and objects).

SYNOPSIS

use Devel::Carnivore;

sub new_attribute {
my %self : Watch("myName") = ();

bless %self, shift;
}

sub new_functional {
my $self = {};
watch $self, "myName";
bless $self
}

sub new_blessed {
my $self = {};
bless $self;
watch $self, "myName";
return $self;
}

sub new_scalar_attribute {
my $self : Watch("myName") = {};
bless $self
}

This module allows you to debug your hashes and, in particular, your objects based on hashes without using the perl debugger. There are several good reasons to do this. Among them:

1) Youre too stupid to use the perl debugger (This is true for me)

2) Youre building web applications and the perl debugger doesnt work very well in that environment

Obviously, this module does not provide you with a complete debugger. All it does is helping you keep track of the state changes which occur to your objects.

Output

By default all output is written to STDERR. You may change this behavior by assigning a valid output filehandle to $Devel::Carnivore::OUT.

Everytime the hash which is being watched by this module is assigned to, a message like this is created: > ProgLang: "cool" changed from "Java" to "Perl" at devel.pl line 30

So what does this tell you?

You have a Perl file named devel.pl. On line 30 your code changed the value of the key "cool" from "Java" to "Perl". In order, to identify this hash you optionally named it "ProgLang".

<<less
Download (0.007MB)
Added: 2006-10-03 License: Perl Artistic License Price:
1116 downloads
Devel::Monitor 0.9.0.7

Devel::Monitor 0.9.0.7


Devel::Monitor is a Perl module that can monitor your variables/objects for memory leaks. more>>
Devel::Monitor is a Perl module that can monitor your variables/objects for memory leaks.

You have memory leaks, and you want to remove it... You can use this tool to help you find which variables/objects that are not destroyed when they should be, and thereafter, you can visualise exactly where is the circular reference for some specific variables/objects.

WHAT IT CANT DO

Even if your modules are memory leak free, it doesnt mean that external modules that you are using dont have it. So, before running your application on mod_perl, you should be sure that EVERY modules are ok. (In particular those perl extensions calling C++ code)

SYNOPSIS

use Devel::Monitor qw(:all);

#-----------------------------------------------------------------------------
# Monitor scalars, arrays, hashes, references, constants
#-----------------------------------------------------------------------------
my ($a,$b) = (Foo::Bar->new(), Foo::Bar->new());
my ($c, @d, %e);
use constant F => [1,2];
monitor(name for a => $a,
name for b => $b,
name for c => $c,
name for d => @d,
name for e => %e,
name for F => &F); #NOTE : Dont add parentheses to the end of the constant (&F())

#-----------------------------------------------------------------------------
# Print circular references
#-----------------------------------------------------------------------------
# NOTE : You cannot use print_circular_ref on a monitored/tied variable
# (See "We cannot use tied objects references because it reuse memory space" doc)
print_circular_ref($a);
print_circular_ref($b);
print_circular_ref($c);
print_circular_ref(@d);
print_circular_ref(%e);
print_circular_ref(&F); #NOTE : Dont add parentheses to the end of the constant (&F())

USAGE : monitor

Example with a circular reference
+----------------------+
| Code |
+----------------------+
{
my @a;
monitor(a => @a);
$a[0] = @a; #Add a circular reference
print STDERR "Leaving scopen";
}
print STDERR "Scope leftn";

+----------------------+
| Output |
+----------------------+
MONITOR ARRAY a
Leaving scope
Scope left
DESTROY ARRAY a

+----------------------+
| Meaning |
+----------------------+
The line "DESTROY ARRAY a" should be between scope prints.
@a were deleted on program exit.

Example without a circular reference

+----------------------+
| Code |
+----------------------+
{
my @a;
monitor(a => @a);
print STDERR "Leaving scopen";
}
print STDERR "Scope leftn";

+----------------------+
| Output |
+----------------------+
MONITOR ARRAY a
Leaving scope
DESTROY ARRAY a
Scope left

+----------------------+
| Meaning |
+----------------------+
Everything is ok

Now that you know there is a circular reference, you can track it down using the print_circular_ref method

<<less
Download (0.016MB)
Added: 2007-06-28 License: Perl Artistic License Price:
848 downloads
Devel::Cover 0.61

Devel::Cover 0.61


Devel::Cover package contains code coverage metrics for Perl. more>>
Devel::Cover package contains code coverage metrics for Perl.

SYNOPSIS

perl -MDevel::Cover yourprog args
cover

perl -MDevel::Cover=-db,cover_db,-coverage,statement,time yourprog args
To test an uninstalled module:
cover -delete
HARNESS_PERL_SWITCHES=-MDevel::Cover make test
cover
To test an uninstalled module which uses Module::Build (0.26 or later):
./Build testcover
If the module does not use the t/*.t framework:
PERL5OPT=-MDevel::Cover make test

This module provides code coverage metrics for Perl. Code coverage metrics describe how throroughly tests exercise code. By using Devel::Cover you can find areas of code not exercised by your tests and find out which tests to create to increase coverage. Code coverage can be considered as an indirect measure of quality.

If you cant guess by the version number this is an alpha release.
Code coverage data are collected using a pluggable runops function which counts how many times each op is executed. These data are then mapped back to reality using the B compiler modules. There is also a statement profiling facility which needs a better backend to be really useful.

The cover program can be used to generate coverage reports.

Statement, branch, condition, subroutine, pod and time coverage information is reported. Statement coverage data should be reasonable, although there may be some statements which are not reported. Branch and condition coverage data should be mostly accurate too, although not always what one might initially expect. Subroutine coverage should be as accurate as statement coverage. Pod coverage comes from Pod::Coverage. If Pod::Coverage::CountParents is available it will be used instead. Coverage data for path coverage are not yet collected.

The gcov2perl program can be used to convert gcov files to Devel::Cover databases.

You may find that the results dont match your expectations. I would imagine that at least one of them is wrong.

The most appropriate mailing list on which to discuss this module would be perl-qa. Discussion has migrated there from perl-qa-metrics which is now defunct. See http://lists.perl.org/showlist.cgi?name=perl-qa.

<<less
Download (0.026MB)
Added: 2007-05-01 License: Perl Artistic License Price:
907 downloads
Devel::LeakTrace 0.05

Devel::LeakTrace 0.05


Devel::LeakTrace is a Perl module to indicate where leaked variables are coming from. more>>
Devel::LeakTrace is a Perl module to indicate where leaked variables are coming from.

SYNOPSIS

perl -MDevel::LeakTrace -e { my $foo; $foo = $foo }
leaked SV(0x528d0) from -e line 1
leaked SV(0x116a10) from -e line 1

Based heavily on Devel::Leak, Devel::LeakTrace uses the pluggable runops feature found in perl 5.6 and later in order to trace SV allocations of a running program.

At END time Devel::LeakTrace identifies any remaining variables, and reports on the lines in which the came into existence.

Note that by default state is first recorded during the INIT phase. As such the module will not pay attention to any scalars created during BEGIN time. This is intentional as symbol table aliasing is never released before the END times and this is most common in the implicit BEGIN blocks of use statements.

<<less
Download (0.004MB)
Added: 2007-05-08 License: Perl Artistic License Price:
899 downloads
Devel::Backtrace 0.01

Devel::Backtrace 0.01


Devel::Backtrace is a Perl module for object-oriented backtrace. more>>
Devel::Backtrace is a Perl module for object-oriented backtrace.

SYNOPSIS

my $backtrace = Devel::Backtrace->new;

print $backtrace; # use automatic stringification

print $backtrace->point(0)->line;

METHODS

Devel::Backtrace->new([$start])

Constructs a new Devel::Backtrace which is filled with all the information caller($i) provides, where $i starts from $start. If no argument is given, $start defaults to 0.

If $start is 1 (or higher), the backtrace wont contain the information that (and where) Devel::Backtrace::new() was called.

$backtrace->point($i)

Returns the ith tracepoint as a Devel::Backtrace::Point object (see its documentation for how to access every bit of information).

Note that the following code snippet will print the information of caller($start+$i):

print Devel::Backtrace->new($start)->point($i)

$backtrace->points()

Returns a list of all tracepoints.

$backtrace->skipme([$package])

This method deletes all leading tracepoints that contain information about calls within $package. Afterwards the $backtrace will look as though it had been created with a higher value of $start.

If the optional parameter $package is not given, it defaults to the calling package.

The effect is similar to what the Carp module does.

This module ships with an example "skipme.pl" that demonstrates how to use this method.

$backtrace->to_string()

Returns a string that contains one line for each tracepoint. It will contain the information from Devel::Backtrace::Points to_string() method. To get more information, use the to_long_string() method.

Note that you dont have to call to_string() if you print a Devel::Backtrace object or otherwise treat it as a string, as the stringification operator is overloaded.

$backtrace->to_long_string()

Returns a very long string that contains several lines for each trace point. The result will contain every available bit of information. See "to_long_string" in Devel::Backtrace::Point for an example of what the result looks like.

<<less
Download (0.006MB)
Added: 2007-05-01 License: Perl Artistic License Price:
908 downloads
Devel::Profile 1.04

Devel::Profile 1.04


Devel::Profile is a Perl module to tell me why my perl program runs so slowly. more>>
Devel::Profile is a Perl module to tell me why my perl program runs so slowly.

SYNOPSIS

perl -d:Profile program.pl
less prof.out

The Devel::Profile package is a Perl code profiler. This will collect information on the execution time of a Perl script and of the subs in that script. This information can be used to determine which subroutines are using the most time and which subroutines are being called most often.
To profile a Perl script, run the perl interpreter with the -d debugging switch. The profiler uses the debugging hooks. So to profile script test.pl the following command should be used:

perl -d:Profile test.pl

When the script terminates (or periodicly while running, see ENVIRONMENT) the profiler will dump the profile information to a file called prof.out. This file is human-readable, no additional tool is required to read it.

Note: Statistics are kept per sub, not per line.

<<less
Download (0.007MB)
Added: 2006-10-03 License: Perl Artistic License Price:
1116 downloads
Devel::Leak 0.03

Devel::Leak 0.03


Devel::Leak is a utility for looking for perl objects that are not reclaimed. more>>
Devel::Leak is a utility for looking for perl objects that are not reclaimed.

SYNOPSIS

use Devel::Leak;
... setup code

my $count = Devel::Leak::NoteSV($handle);

... code that may leak

Devel::Leak::CheckSV($handle);

Devel::Leak has two functions NoteSV and CheckSV.
NoteSV walks the perl internal table of allocated SVs (scalar values) - (which actually contains arrays and hashes too), and records their addresses in a table. It returns a count of these "things", and stores a pointer to the table (which is obtained from the heap using malloc()) in its argument.

CheckSV is passed argument which holds a pointer to a table created by NoteSV. It re-walks the perl-internals and calls sv_dump() for any "things" which did not exist when NoteSV was called. It returns a count of the number of "things" now allocated.

<<less
Download (0.003MB)
Added: 2007-05-08 License: Perl Artistic License Price:
899 downloads
Devel::Peek 0.96

Devel::Peek 0.96


Devel::Peek is a Perl module that acts as a data debugging tool for the XS programmer. more>>


SYNOPSIS

use Devel::Peek;
Dump( $a );
Dump( $a, 5 );
DumpArray( 5, $a, $b, ... );
mstat "Point 5";

Devel::Peek contains functions which allows raw Perl datatypes to be manipulated from a Perl script. This is used by those who do XS programming to check that the data they are sending from C to Perl looks as they think it should look. The trick, then, is to know what the raw datatype is supposed to look like when it gets to Perl. This document offers some tips and hints to describe good and bad raw data.

It is very possible that this document will fall far short of being useful to the casual reader. The reader is expected to understand the material in the first few sections of perlguts.

Devel::Peek supplies a Dump() function which can dump a raw Perl datatype, and mstat("marker") function to report on memory usage (if perl is compiled with corresponding option). The function DeadCode() provides statistics on the data "frozen" into inactive CV. Devel::Peek also supplies SvREFCNT(), SvREFCNT_inc(), and SvREFCNT_dec() which can query, increment, and decrement reference counts on SVs. This document will take a passive, and safe, approach to data debugging and for that it will describe only the Dump() function.

Function DumpArray() allows dumping of multiple values (useful when you need to analize returns of functions).

The global variable $Devel::Peek::pv_limit can be set to limit the number of character printed in various string values. Setting it to 0 means no limit.

<<less
Download (0.015MB)
Added: 2007-05-02 License: Perl Artistic License Price:
905 downloads
Devel::STrace::Monitor 0.31

Devel::STrace::Monitor 0.31


Devel::STrace::Monitor is a monitor interface component for Devel::STrace. more>>
Devel::STrace::Monitor is a monitor interface component for Devel::STrace.

SYNOPSIS

#
# open the mmaped file
#
use Devel::STrace::Monitor;

my $view = Devel::STrace::Monitor->open(somefile.map);

my $cycles = 0;
while (1) {
print "n**************************************n";
#
# refresh the internal ringbuffer map
#
$view->refresh();
#
# dump the current traces
#
$view->trace(&dump_trace);

sleep 10;
}
#
# method to display the traces
#
sub dump_trace {
my ($key, $slot, $depth, $line, $time, $entry) = @_;

$lastkey = $key,
print "n**************************************n"
unless ($lastkey eq $key);

if ($time) {
#
# trim the weekday and year from timestamp
#
my $frac = ($time - int($time)) * 1000000;
$frac=~s/..*$//;
my @parts = split(/s+/, scalar localtime($time));
pop @parts; # get rid of year
print "$key($depth) : $slot : $entry:$line at ",
join( , @parts), ., $frac, "n";
}
else {
print "$key($depth) : $slot : $entry:$line (No timestamp)n";
}
}

Provides methods to attach to and read the memory mapped file generated by Devel::STrace (or future full featured debuggers) using Devel::RingBuffer.

set or clear any of the $DB::single, $DB::trace, or $DB::signal control variables of the AUT (via their tied interfaces in the AUT).

inspect the current execution call stack of the AUT

The interfaces provide a simple framework for building an external application that can attach to a running Perl application, monitor its current execution, and eventually detach, all while permitting the application continue to run uninterrupted.

A more complete debugger module is planned to exploit the various command/control structures available via Devel::RingBuffer. Note that this module will be fully compatible with the resulting debugger so that, e.g., an application can first be monitored to detect troublespots, and then the debugger can be attached to fully debug the problem.

<<less
Download (0.018MB)
Added: 2006-10-19 License: Perl Artistic License Price:
1100 downloads
Devel::Tokenizer::C 0.05

Devel::Tokenizer::C 0.05


Devel::Tokenizer::C is a Perl module that can generate C source for fast keyword tokenizer. more>>
Devel::Tokenizer::C is a Perl module that can generate C source for fast keyword tokenizer.

SYNOPSIS

use Devel::Tokenizer::C;

$t = new Devel::Tokenizer::C TokenFunc => sub { "return U$_[0];n" };

$t->add_tokens(qw( bar baz ))->add_tokens([for]);
$t->add_tokens([qw( foo )], defined DIRECTIVE);

print $t->generate;

The Devel::Tokenizer::C module provides a small class for creating the essential ANSI C source code for a fast keyword tokenizer.

The generated code is optimized for speed. On the ANSI-C keyword set, its 2-3 times faster than equivalent code generated with the gprof utility.

The above example would print the following C source code:
switch (tokstr[0])
{
case b:
switch (tokstr[1])
{
case a:
switch (tokstr[2])
{
case r:
if (tokstr[3] == )
{ /* bar */
return BAR;
}

goto unknown;

case z:
if (tokstr[3] == )
{ /* baz */
return BAZ;
}

goto unknown;

default:
goto unknown;
}

default:
goto unknown;
}

case f:
switch (tokstr[1])
{
case o:
switch (tokstr[2])
{
#if defined DIRECTIVE
case o:
if (tokstr[3] == )
{ /* foo */
return FOO;
}

goto unknown;
#endif /* defined DIRECTIVE */

case r:
if (tokstr[3] == )
{ /* for */
return FOR;
}

goto unknown;

default:
goto unknown;
}

default:
goto unknown;
}

default:
goto unknown;
}

So the generated code only includes the main switch statement for the tokenizer. You can configure most of the generated code to fit for your application.

<<less
Download (0.011MB)
Added: 2006-07-06 License: Perl Artistic License Price:
1206 downloads
Devel::Cycle 1.07

Devel::Cycle 1.07


Devel::Cycle is a Perl module that helps you to find memory cycles in objects. more>>
Devel::Cycle is a Perl module that helps you to find memory cycles in objects.

SYNOPSIS

#!/usr/bin/perl
use Devel::Cycle;
my $test = {fred => [qw(a b c d e)],
ethel => [qw(1 2 3 4 5)],
george => {martha => 23,
agnes => 19}
};
$test->{george}{phyllis} = $test;
$test->{fred}[3] = $test->{george};
$test->{george}{mary} = $test->{fred};
find_cycle($test);
exit 0;

# output:

Cycle (1):
$A->{george} => %B
$B->{phyllis} => %A

Cycle (2):
$A->{george} => %B
$B->{mary} => @A
$A->[3] => %B

Cycle (3):
$A->{fred} => @A
$A->[3] => %B
$B->{phyllis} => %A

Cycle (4):
$A->{fred} => @A
$A->[3] => %B
$B->{mary} => @A

# you can also check weakened references
weaken($test->{george}->{phyllis});
find_weakened_cycle($test);
exit 0;

# output:

Cycle (1):
$A->{george} => %B
$B->{mary} => @C
$C->[3] => %B

Cycle (2):
$A->{george} => %B
w-> $B->{phyllis} => %A

Cycle (3):
$A->{fred} => @C
$C->[3] => %B
$B->{mary} => @C

Cycle (4):
$A->{fred} => @C
$C->[3] => %B
w-> $B->{phyllis} => %A

<<less
Download (0.006MB)
Added: 2007-07-05 License: Perl Artistic License Price:
841 downloads
Devel::Graph 0.10

Devel::Graph 0.10


Devel::Graph module can turn Perl code into a graphical flowchart. more>>
Devel::Graph module can turn Perl code into a graphical flowchart.

SYNOPSIS

use Devel::Graph;
my $grapher = Devel::Graph->new();

my $graph = $grapher->decompose( if ($b == 1) { $a = 9; } );
print $graph->as_ascii();

# Will result in something like this:

################
# start #
################
|
|
v
+--------------+
| if ($b == 1) |--+
+--------------+ |
| |
| true |
v |
+--------------+ |
| $a = 9; | | false
+--------------+ |
| |
| |
v |
################ |
# end # decompose( lib/Foo.pm );
print $graph_2->as_ascii();

This module decomposes Perl code into blocks and generates a Graph::Flowchart object out of these. The resulting object represents the code in a flowchart manner and it can return an Graph::Easy object.

This in turn can be converted it into all output formats currently supported by Graph::Easy, namely HTML, SVG, ASCII art, Unicode art, graphviz code (which then can be rendered as PNG etc) etc.

<<less
Download (0.036MB)
Added: 2007-07-26 License: GPL (GNU General Public License) Price:
821 downloads
Devel::CallerItem 1.0

Devel::CallerItem 1.0


Devel::CallerItem is an Perl object representing a function call from the stack of function calls. more>>
Devel::CallerItem is an Perl object representing a function call from the stack of function calls.

SYNOPSIS

Usage:

require Devel::CallerItem;

$call = Devel::CallerItem->from_depth($depth) || return;
$passed_arguments_ref = $call->argument_list_ref();
$callpack = $call->pack();
$callfile = $call->file();
$callline = $call->line();
$callsub = $call->subroutine();
$bool = $call->has_args();
$bool = $call->wants_array();
($arg_ref,@caller) = $call->as_array();
$call_string = $call->as_string($print_level);
$passed_arguments_string = $call->arguments_as_string();

$printable_arg = Devel::CallerItem->printable_arg($arg,$print_level);

Devel::CallerItem objects hold all the information about a specific function call on the stack. The information is basically that obtained from caller and @DB::args, packaged into an object. This comes with some useful methods to print the object in a nice way.

<<less
Download (0.004MB)
Added: 2007-05-01 License: Perl Artistic License Price:
908 downloads
Devel::DumpSizes 0.01

Devel::DumpSizes 0.01


Devel::DumpSizes is a Perl module to dump the name and size in bytes of variables that are available at a give point in a script more>>
Devel::DumpSizes is a Perl module to dump the name and size in bytes (in increasing order) of variables that are available at a give point in a script.

SYNOPSIS

use Devel::DumpSizes qw/dump_sizes/;

&Devel::DumpSizes::dump_sizes();

Or,

&Devel::DumpSizes::dump_sizes("/path/of/filename-to-dump-output");

This will print the name of each variable and its size. The name and size are seperated by a ->

Variable name -> Size in bytes

EXPORTS

Exports one subroutine by default:
dump_sizes

This module allows us to print the names and sizes of variables that are available at a give point in a script.

This module was written while debugging a huge long running script. The main use being to understand how variable sizes were fluctuating during script execution. It uses PadWalker and Devel::Symdump to get the variables. It uses Devel::Size to report the size of each variable.

METHODS

dump_sizes

Usage: &Devel::DumpSizes::dump_sizes();

Or

Usage: &Devel::DumpSizes::dump_sizes("/path/of/filename-to-dump-output");
This method accepts one optional parameter that will be used to create the file where the output is dumped.

If parameter is given then two files will be create. One will have extension .my and will contain my variables. The second file will have extension .ol and will contain our/local variables. If no filename is given output is printed on STDOUT.
As of now, the output is sectioned by printing the following at the start:

1. either of my or our/local to specify the kind of variables being reported.

2. output of time().

3. If possible, subroutine name/line number as returned by caller (perldoc -f caller).

All sizes are in Bytes as returned by Devel::Size. I plan to have more information reported in newer versions.

<<less
Download (0.003MB)
Added: 2007-05-02 License: Perl Artistic License Price:
905 downloads
Devel::TraceLoad 0.07

Devel::TraceLoad 0.07


Devel::TraceLoad is a Perl module to trace loadings of Perl Programs. more>>
Devel::TraceLoad is a Perl module to trace loadings of Perl Programs.

# with perldb
perl -d:TraceLoad script.pl

# without perldb
perl -MDevel::TraceLoad script.pl

# without perldb and with options
perl -MDevel::TraceLoad=after,path script.pl

# with perldb and options
perl -d:TraceLoad -MDevel::TraceLoad=stop,after,path script.pl

The module Devel::TraceLoad traces the require() and the use() appearing in a program. The trace makes it possible to know the dependencies of a program with respect to other programs and in particular of the modules.

The generated report can be obtained in various forms. The loadings are indicated in the order in which they are carried out. The trace can be obtained either during the execution of the loadings or at end of the execution. By default, the trace is generated during the execution and the overlaps of loadings are marked by indentations.

All the require() are indicated, even if it is about a require() of a program already charged. A + indicates that the program is charged for the first time. A . indicates that the program was already charged.

When the trace is differed, the number of version of the modules is indicated. A differed trace can be sorted and if it is wished the names of the modules can be replaced by the absolute name of the files.

The module is close to Devel::Modlist but uses a redefinition of require() instead of exploiting %INC. In a will of homogeneity the module also borrows many things from Devel::Modlist.

<<less
Download (0.012MB)
Added: 2007-05-03 License: Perl Artistic License Price:
904 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5