[Pdx-pm] Recommendations for memory leak checking?
Kevin Scaldeferri
kevin at scaldeferri.com
Wed Jul 4 10:38:28 PDT 2007
On Jul 4, 2007, at 12:47 AM, Eric Wilhelm wrote:
> # from Kevin Scaldeferri
> # on Tuesday 03 July 2007 11:21 pm:
>
>>> BEGIN {do {"./t/this.t"}; }
>>> END { print STDERR ">>>THIS IS THE END<<<\n";}
>>> *UNIVERSAL::DESTROY = sub {
>>> print STDERR "$_[0] is leaky\n";
>>> };
>>
>> I think that would only detect leaks of objects, right? I'd like to
>> detect leaks of normal variables as well.
>
> Yep, only objects. That suggestion is also limited in that it would
> need to be told "oh, those are ok" if there's a package lexical or
> package global being destroyed at the END. (And from a simple test,
> there are going to be some IO::Handle objects and other bits of
> non-trivial magic appearing.)
>
> The code has circular references in lexical non-objects? That's just
> frightening.
As I mentioned at the end of my last message, there is no "the
code". Essentially, I'm designing Makefiles for general use.
However, the last time I was trying to do memory leak debugging of
Perl, a couple years ago, the tools which only detected object leaks
proved not to find anything in the codebase I was working with. The
tools which detected general variable leaks found lots of stuff.
Now, I don't want to particularly defend the quality of that
codebase, but it's just an example of why I don't want to be limited
to only object leak detection.
-kevin
More information about the Pdx-pm-list
mailing list