http://www.perlmonks.org?node_id=1030879

vaibhav07 has asked for the wisdom of the Perl Monks concerning the following question:

Hello perlmonks,

I have to check for memory leaks in the code. So after searching i came across valgrind tool, which can be used for memory leak checks.

From the output I am not able to exactly pin point the areas, as the output was not very clear.

So, will be of great help, if someone can either tell me a way through which i can understand its output or any other tool which i can use to check the memory leaks and gives understandable results

$ valgrind-3.8.1 --tool=memcheck --leak-check=yes --leak-check=full --show-reachable=yes --log-file=valgrind.log event_perf_measurement.pl

Replies are listed 'Best First'.
Re: Tools effective in finding memory leaks in perl code.
by BrowserUk (Patriarch) on Apr 26, 2013 at 19:35 UTC

    valgrind operates at the C/assembler level and its output is very difficult to relate back to Perl code. It is only really useful for debugging Perl's internals.

    In general, the easiest way to track down leaks caused by user Perl code is to find a reliable set of inputs that demonstrate that leak and then comment out blocks of code until the leak goes away; then put the commented out bits back in smaller pieces until the leak reappears. It is usually fairly easy to find the Perl source code responsible this way.

    (Of course, if the source of your leak is genuinely a Perl bug then you may need to resort to valgrind or similar to find the actual bug, but that is usually done by the p5p guys once you've demonstrated that your perl is not at fault.)


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
Re: Tools effective in finding memory leaks in perl code.
by LanX (Saint) on Apr 26, 2013 at 19:25 UTC
    > So, will be of great help, if someone can either tell me a way through which i can understand its output

    Well, showing some output might help...

    Cheers Rolf

    ( addicted to the Perl Programming Language)