My Purify experience is a little old but...

In the version of purify I used it was not good about finding memory leaks
whole classes of leaks (for example those allocated to global or static
variables) were not generally reported.  I asked the technical support
person about this and was given some mumbo jumbo about it's a trade off for
such a great tool...  As far as memory leaks go I found that BoundsChecker
was much better.  Although you had to use final check which is dog, and I
mean dog, slow.  I found that using both of them was the best solution as
fortunately they complemented each other pretty well.

Back to Purify though.  If you use unions or partially filled out structures
you will see this kind uninitialized reads.  It may not really be a problem.
Also, and I don't think this is a problem with Purify, but on BoundsChecker
they just use the value 0xbd to indicate uninitialized which will give tons
on bogus uninitialized reads if your working on binary data.

You of course can filter different types of messages so I would recommend
filtering the data to look for your memory leak.  Maybe this software is
garbage but I have found that you have to take the output of Purify and
BoundsChecker will a grain of salt.

Just my $0.02

"POC" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> Hello,
>
> I have an NSS/NSPR server app that listens for client connection
> requests and that creates a new thread using PR_CreateThread() to
> handle each new client connection.
>
> The problem is that this app has a memory leak, somewhere. And I can't
> seem to find the leak.
>
> So I got hold of the latest version of Purify and instrumented my app.
>
> But when I run my app with Purify, it seems that I get a boatload of
> problem reports concerning memory management (e.g., reading
> uninitialized memory) in the NSS and NSPR libraries.
>
> Has anybody seen this before?
>
> -- POC



Reply via email to