403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.21.21.209
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/local/share/man/man3/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/local/share/man/man3/Test::LeakTrace.3pm
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "Test::LeakTrace 3"
.TH Test::LeakTrace 3 "2014-11-14" "perl v5.16.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Test::LeakTrace \- Traces memory leaks
.SH "VERSION"
.IX Header "VERSION"
This document describes Test::LeakTrace version 0.15.
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&    use Test::LeakTrace;
\&
\&    # simple report
\&    leaktrace{
\&        # ...
\&    };
\&
\&    # verbose output
\&    leaktrace{
\&        # ...
\&    } \-verbose;
\&
\&    # with callback
\&    leaktrace{
\&        # ...
\&    } sub {
\&        my($ref, $file, $line) = @_;
\&        warn "leaked $ref from $file line\en";
\&    };
\&
\&    my @refs = leaked_refs{
\&        # ...
\&    };
\&    my @info = leaked_info{
\&        # ...
\&    };
\&
\&    my $count = leaked_count{
\&        # ...
\&    };
\&
\&    # standard test interface
\&    use Test::LeakTrace;
\&
\&    no_leaks_ok{
\&        # ...
\&    } \*(Aqno memory leaks\*(Aq;
\&
\&    leaks_cmp_ok{
\&        # ...
\&    } \*(Aq<\*(Aq, 10;
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`Test::LeakTrace\*(C'\fR provides several functions that trace memory leaks.
This module scans arenas, the memory allocation system,
so it can detect any leaked SVs in given blocks.
.PP
\&\fBLeaked SVs\fR are SVs which are not released after the end of the scope
they have been created. These SVs include global variables and internal caches.
For example, if you call a method in a tracing block, perl might prepare a cache
for the method. Thus, to trace true leaks, \f(CW\*(C`no_leaks_ok()\*(C'\fR and \f(CW\*(C`leaks_cmp_ok()\*(C'\fR
executes a block more than once.
.SH "INTERFACE"
.IX Header "INTERFACE"
.SS "Exported functions"
.IX Subsection "Exported functions"
\fI\f(CI\*(C`leaked_info { BLOCK }\*(C'\fI\fR
.IX Subsection "leaked_info { BLOCK }"
.PP
Executes \fI\s-1BLOCK\s0\fR and returns a list of leaked SVs and places where the SVs
come from, i.e. \f(CW\*(C`[$ref, $file, $line]\*(C'\fR.
.PP
\fI\f(CI\*(C`leaked_refs { BLOCK }\*(C'\fI\fR
.IX Subsection "leaked_refs { BLOCK }"
.PP
Executes \fI\s-1BLOCK\s0\fR and returns a list of leaked SVs.
.PP
\fI\f(CI\*(C`leaked_count { BLOCK }\*(C'\fI\fR
.IX Subsection "leaked_count { BLOCK }"
.PP
Executes \fI\s-1BLOCK\s0\fR and returns the number of leaked SVs.
.PP
\fI\f(CI\*(C`leaktrace { BLOCK } ?($mode | \e&callback)\*(C'\fI\fR
.IX Subsection "leaktrace { BLOCK } ?($mode | &callback)"
.PP
Executes \fI\s-1BLOCK\s0\fR and reports leaked SVs to \f(CW*STDERR\fR.
.PP
Defined \fI\f(CI$mode\fI\fRs are:
.IP "\-simple" 4
.IX Item "-simple"
Default. Reports the leaked \s-1SV\s0 identity (type and address), file name and line number.
.IP "\-sv_dump" 4
.IX Item "-sv_dump"
In addition to \fB\-simple\fR, dumps the sv content using \f(CW\*(C`sv_dump()\*(C'\fR,
which also implements \f(CW\*(C`Devel::Peek::Dump()\*(C'\fR.
.IP "\-lines" 4
.IX Item "-lines"
In addition to \fB\-simple\fR, prints suspicious source lines.
.IP "\-verbose" 4
.IX Item "-verbose"
Both \fB\-sv_dump\fR and \fB\-lines\fR.
.PP
\fI\f(CI\*(C`no_leaks_ok { BLOCK } ?$description\*(C'\fI\fR
.IX Subsection "no_leaks_ok { BLOCK } ?$description"
.PP
Tests that \fI\s-1BLOCK\s0\fR does not leaks SVs. This is a test function
using \f(CW\*(C`Test::Builder\*(C'\fR.
.PP
Note that \fI\s-1BLOCK\s0\fR is called more than once. This is because
\&\fI\s-1BLOCK\s0\fR might prepare caches which are not memory leaks.
.PP
\fI\f(CI\*(C`leaks_cmp_ok { BLOCK } $cmp_op, $number, ?$description\*(C'\fI\fR
.IX Subsection "leaks_cmp_ok { BLOCK } $cmp_op, $number, ?$description"
.PP
Tests that \fI\s-1BLOCK\s0\fR leaks a specific number of SVs. This is a test
function using \f(CW\*(C`Test::Builder\*(C'\fR.
.PP
Note that \fI\s-1BLOCK\s0\fR is called more than once. This is because
\&\fI\s-1BLOCK\s0\fR might prepare caches which are not memory leaks.
.PP
\fI\f(CI\*(C`count_sv()\*(C'\fI\fR
.IX Subsection "count_sv()"
.PP
Counts all the SVs in the arena.
.SS "Script interface"
.IX Subsection "Script interface"
Like \f(CW\*(C`Devel::LeakTrace\*(C'\fR \f(CW\*(C`Test::LeakTrace::Script\*(C'\fR is provided for whole scripts.
.PP
The arguments of \f(CW\*(C`use Test::LeakTrace::Script\*(C'\fR directive is the same as \f(CW\*(C`leaktrace()\*(C'\fR.
.PP
.Vb 2
\&    $ TEST_LEAKTRACE=\-sv_dump perl \-MTest::LeakTrace::Script script.pl
\&    $ perl \-MTest::LeakTrace::Script=\-verbose script.pl
\&
\&    #!perl
\&    # ...
\&
\&    use Test::LeakTrace::Script sub{
\&        my($ref, $file, $line) = @_;
\&        # ...
\&    };
\&
\&    # ...
.Ve
.SH "EXAMPLES"
.IX Header "EXAMPLES"
.SS "Testing modules"
.IX Subsection "Testing modules"
Here is a test script template that checks memory leaks.
.PP
.Vb 5
\&    #!perl \-w
\&    use strict;
\&    use constant HAS_LEAKTRACE => eval{ require Test::LeakTrace };
\&    use Test::More HAS_LEAKTRACE ? (tests => 1) : (skip_all => \*(Aqrequire Test::LeakTrace\*(Aq);
\&    use Test::LeakTrace;
\&
\&    use Some::Module;
\&
\&    leaks_cmp_ok{
\&        my $o = Some::Module\->new();
\&        $o\->something();
\&        $o\->something_else();
\&    } \*(Aq<\*(Aq, 1;
.Ve
.SH "DEPENDENCIES"
.IX Header "DEPENDENCIES"
Perl 5.8.1 or later, and a C compiler.
.SH "CAVEATS"
.IX Header "CAVEATS"
\&\f(CW\*(C`Test::LeakTrace\*(C'\fR does not work with \f(CW\*(C`Devel::Cover\*(C'\fR and modules which install
their own \f(CW\*(C`runops\*(C'\fR routines, or the perl executor. So if the test functions of
this module detect strange \f(CW\*(C`runops\*(C'\fR routines, they do nothing and report okay.
.SH "BUGS"
.IX Header "BUGS"
No bugs have been reported.
.PP
Please report any bugs or feature requests to the author.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Devel::LeakTrace.
.PP
Devel::LeakTrace::Fast.
.PP
Test::TraceObject.
.PP
Test::Weak.
.PP
For guts:
.PP
perlguts.
.PP
perlhack.
.PP
\&\fIsv.c\fR.
.SH "AUTHOR"
.IX Header "AUTHOR"
Goro Fuji(gfx) <gfuji(at)cpan.org>.
.SH "LICENSE AND COPYRIGHT"
.IX Header "LICENSE AND COPYRIGHT"
Copyright (c) 2009\-2010, Goro Fuji(gfx). All rights reserved.
.PP
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

Youez - 2016 - github.com/yon3zu
LinuXploit