http://qs1969.pair.com?node_id=753456


in reply to Re: Tracking down memory leaks in Perl Devel::Leak
in thread Tracking down memory leaks in Perl Devel::Leak

What I can't get working is the extended debugging promised by the Devel::Leak documentation. All I get is a count, and from CheckSV, the cryptic "new 0x5a18b0".
#! /usr/bin/debugperl -w use strict; use warnings; use Devel::Leak; my $foo; my $countdown = 10; while($countdown--) { my $count = Devel::Leak::NoteSV($foo); print "$count"; <>; my $bar; $bar = \$bar; } my $count = Devel::Leak::CheckSV($foo); print "End $count\n";
Prints
2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 new 0x5a18b0 : End 2610
Even though I've got a debugging perl from Debian:
debugperl -V Summary of my perl5 (revision 5 version 8 subversion 8) Characteristic +s of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_64_BIT_ +ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
What I can't get working is the sv_dump() mentioned in the Devel::Leak documentation. And when I'm debugging a 100000+ line plus application, that will be crucial.

Replies are listed 'Best First'.
Re^3: Tracking down memory leaks in Perl Devel::Leak
by tilly (Archbishop) on Mar 26, 2009 at 22:04 UTC
    That I am unlikely to be able to help you with. I don't have Perl built with debugging.

    At a random guess, you need to both have a debugging perl and you need to have compiled Devel::Leak against it. If you install a debugging Perl and Devel::Leak using apt-get, I would expect that copy of Devel::Leak to not understand that it has access to debugging information.