need free/cheap Purify-like memory debugger

need free/cheap Purify-like memory debugger

Post by Roger Davi » Wed, 26 Sep 2001 11:14:30



--
Roger Davis
University of Hawaii/SOEST

[ purify 2K ]
I have been using Rational Software's Purify product for several
years on Solaris and Irix platforms for debugging various memory
problems in C and C++ code. I am very happy with the product, but
considerably less so with Rational's latest licensing policies which
are pretty onerous for a small development shop that needs to use
multiple platforms.

Is anyone aware of any open-source or otherwise free memory debugging
software that provides the core functionality of Purify (see below)?
This technology is several years old and it seems to me that someone
out there must have created some equivalent software along this line
by now. Are there any other for-sale products that compete reasonably
well with Purify in terms of functionality and price? I would also like
something that works under Linux as well as Solaris and Irix. (I did
find a list of products on the comp.lang.c FAQ, but judging by the
date on the FAQ page and the long-outdated contact info for Purify
I suspect that this info is a few years old.)

Please note that I am *not* looking for a garden-variety de*, but
for software that is capable of run-time flagging of subtle memory access
errors which do not cause segmentation violations but which result in
the inadvertent corruption of legally-accessible memory. A typical
example of this would be (i) using multiple malloc() calls to return
several memory buffers that happen to be adjacent in memory, and then
(ii) overfilling one of those buffers in such a way that the contents
of the adjacent buffer (and the intervening private malloc tag) are
erroneously overwritten. Purify checks for such problems, I believe,
by inserting special object code into the executable at compile time
that allows it to test all memory references. When you run your program,
Purify pops up its own X11 window and lists all such illegal accesses as
they occur. It also notices when you read a piece of uninitialized memory
at run time, which is also a critical feature. This is the kind of
functionality I am looking for.

Does anyone out there know of anything besides Purify that does all
of the above?

 
 
 

need free/cheap Purify-like memory debugger

Post by Jack Klei » Wed, 26 Sep 2001 13:18:25



wrote in comp.lang.c:

> This is a multi-part message in MIME format.
> --------------2A8B95EF9524EFF34CD4845F
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit

> --
> Roger Davis
> University of Hawaii/SOEST

> --------------2A8B95EF9524EFF34CD4845F
> Content-Type: text/plain; charset=us-ascii;
>  name="purify"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline;
>  filename="purify"

[snip]

First learn some usenet manners.  DON'T post mime encoded *to
usenet groups.  This is a plain text medium.

Second, DON'T put the body of your message, text or otherwise, after a
signature line.  Many newsreaders automatically cut off everything
after the signature line.

Third, since your question has to nothing at all to do with the C
language, DON'T cross post it to comp.lang.c, where it is completely
off-topic.

Feel free to post in comp.lang.c if you have an actual question about
the C language some day, and have learned some manners.

        [posted and mailed]

--
Jack Klein
Home: http://www.veryComputer.com/

 
 
 

need free/cheap Purify-like memory debugger

Post by Alan Coopersmi » Wed, 26 Sep 2001 13:57:00



|Are there any other for-sale products that compete reasonably
|well with Purify in terms of functionality and price? I would also like
|something that works under Linux as well as Solaris and Irix.

I don't know about price, and it's only for Solaris/sparc, but the
de* in Sun's Forte Workshop product line does the same sort of
memory checking without having to relink the binaries like Purify did
the last time I used it (which was admitedly about 5 years ago).

For details on what it can do, see:
http://www.veryComputer.com/

--
________________________________________________________________________


  Working for, but definitely not speaking for, Sun Microsystems, Inc.

 
 
 

need free/cheap Purify-like memory debugger

Post by n.. » Wed, 26 Sep 2001 18:00:27


I've remove comp.lang.c since this isn't an issue of the C language.


> This is a multi-part message in MIME format.
> --------------2A8B95EF9524EFF34CD4845F
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit

> --
> Roger Davis
> University of Hawaii/SOEST


Hmm. Where's the message?

Quote:> --------------2A8B95EF9524EFF34CD4845F
> Content-Type: text/plain; charset=us-ascii;
>  name="purify"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline;
>  filename="purify"

Oh, more useless garbage.

Ah, here's the message, in another "section". How interesting.

[snip]

Quote:

> Is anyone aware of any open-source or otherwise free memory debugging
> software that provides the core functionality of Purify (see below)?

[snip]

Quote:

> Does anyone out there know of anything besides Purify that does all
> of the above?

I've used the dmalloc library in the past for similar things.

Check out http://dmalloc.com/

I'm not sure it does all that you would like, but have a look for
yourself.

--
-----------------------------------------------------------
Nigel Wade, System Administrator, Space Plasma Physics Group,
            University of Leicester, Leicester, LE1 7RH, UK

Phone :     +44 (0)116 2523568, Fax : +44 (0)116 2523555

 
 
 

need free/cheap Purify-like memory debugger

Post by César Blecua Udía » Wed, 26 Sep 2001 21:45:42



> I've remove comp.lang.c since this isn't an issue of the C language.


[snip]
> > Is anyone aware of any open-source or otherwise free memory debugging
> > software that provides the core functionality of Purify (see below)?
> [snip]

> > Does anyone out there know of anything besides Purify that does all
> > of the above?

> I've used the dmalloc library in the past for similar things.

> Check out http://dmalloc.com/

> I'm not sure it does all that you would like, but have a look for
> yourself.

Another alternative is 'Electric Fence', which is also free. I use it
quite often, although I sometimes got unexpected behaviours on some
(old) IRIX versions. Also, a temporary increase of the swap areas is
almost always necessary when debugging with 'Electric Fence'.

I think there's no website for that library, but it's easy to find it in
usual freeware FTP servers.

Csar

 
 
 

need free/cheap Purify-like memory debugger

Post by CBFalcone » Thu, 27 Sep 2001 00:02:11





> > Third, since your question has to nothing at all to do with the C
> > language, DON'T cross post it to comp.lang.c, where it is completely
> > off-topic.

> It is OK for you to cross post your *ing to comp.os.linux.misc?

Yes, because he doesn't know where the OP actually posted and is
reading.  What is certain is that your squawk is OT in c.l.c.

--

   (Remove "XXXX" from reply address. yahoo works unmodified)

 
 
 

need free/cheap Purify-like memory debugger

Post by John Hasle » Thu, 27 Sep 2001 00:01:08


Quote:Csar Blecua Udas writes:
> I think there's no website for that library, but it's easy to find it in
> usual freeware FTP servers.

And, of course, there's a Debian package:

toncho/~ apt-cache show electric-fence
Package: electric-fence
Priority: extra
Section: devel
Installed-Size: 96

Architecture: i386
Version: 2.1.11
Depends: libc6 (>= 2.2.3-1)
Filename: pool/main/e/electric-fence/electric-fence_2.1.11_i386.deb
Size: 18260
MD5sum: 32d92cd52853cf228b53f88ee3499a85
Description: A malloc(3) de*
 Use virtual memory hardware to detect illegal memory accesses.

--
John Hasler

Dancing Horse Hill
Elmwood, WI

 
 
 

need free/cheap Purify-like memory debugger

Post by Eric Y. Cha » Thu, 27 Sep 2001 04:03:58


: Another alternative is 'Electric Fence', which is also free. I use it
: quite often, although I sometimes got unexpected behaviours on some
: (old) IRIX versions. Also, a temporary increase of the swap areas is
: almost always necessary when debugging with 'Electric Fence'.

: I think there's no website for that library, but it's easy to find it in
: usual freeware FTP servers.

: Csar

Hi.  One of Electric Fence's main strengths is that it uses hardware
detection of memory violations.  This makes it very fast; much faster
than Purify.  Unfortunately, this is also a major weakness.  You will
run out of kernel address space well before running out of swap space,
especially on programs written by large numbers of people.  Purify
handles this situation effortlessly.  Be aware that this problem is
not documented in the Electric Fence documentation, and needs to be
debugged in Electric Fence code directly.  Note that this debugging
is performed under the worst possible conditions.  Memory error
present in production code.  Linux skeptical manager observing
(breathing down neck).

Otherwise, it is just fine.

 
 
 

need free/cheap Purify-like memory debugger

Post by Frans van Hoese » Thu, 27 Sep 2001 06:42:30


Quote:>> > software that provides the core functionality of Purify (see below)?

I'm an extremely happy user of insure++ It does more than purify and
isn't horribly expensive.
www.parasoft.com/products/insure
Their website doesn't look too impressive, but the software works just fine.
It has almost the same functionality as purify, and can work in that
relatively fast mode, but it also can work on the source code, secretly
adding a lot of test which makes it possible to detect more errors
than purify.

-frans

  _______________________________________________________________

    "Hi, my name is Frans, I'm your crazy scientist for today."


                              http://hpcv100.rc.rug.nl/~hoesel
  _______________________________________________________________

 
 
 

need free/cheap Purify-like memory debugger

Post by R.S. Veldem » Wed, 03 Oct 2001 00:49:17


you might want to look at checkerlibs.
GCC currently has a flag -fcheck-memory that allows
GCC to add calls to read/write_memory before memory accesses.
I wrote a minimal library around these generated calls.
No guarantees though !
Its at:
http://www.veryComputer.com/~rveldema/mcheck/mcheck.html
The official checker libs can found on the gnu sites.
Gcc 2.95.2/3.0+ have the ability to generate these calls.
R.

> ------------------------------------------------------------------------

> I have been using Rational Software's Purify product for several
> years on Solaris and Irix platforms for debugging various memory
> problems in C and C++ code. I am very happy with the product, but
> considerably less so with Rational's latest licensing policies which
> are pretty onerous for a small development shop that needs to use
> multiple platforms.

> Is anyone aware of any open-source or otherwise free memory debugging
> software that provides the core functionality of Purify (see below)?
> This technology is several years old and it seems to me that someone
> out there must have created some equivalent software along this line
> by now. Are there any other for-sale products that compete reasonably
> well with Purify in terms of functionality and price? I would also like
> something that works under Linux as well as Solaris and Irix. (I did
> find a list of products on the comp.lang.c FAQ, but judging by the
> date on the FAQ page and the long-outdated contact info for Purify
> I suspect that this info is a few years old.)

> Please note that I am *not* looking for a garden-variety de*, but
> for software that is capable of run-time flagging of subtle memory access
> errors which do not cause segmentation violations but which result in
> the inadvertent corruption of legally-accessible memory. A typical
> example of this would be (i) using multiple malloc() calls to return
> several memory buffers that happen to be adjacent in memory, and then
> (ii) overfilling one of those buffers in such a way that the contents
> of the adjacent buffer (and the intervening private malloc tag) are
> erroneously overwritten. Purify checks for such problems, I believe,
> by inserting special object code into the executable at compile time
> that allows it to test all memory references. When you run your program,
> Purify pops up its own X11 window and lists all such illegal accesses as
> they occur. It also notices when you read a piece of uninitialized memory
> at run time, which is also a critical feature. This is the kind of
> functionality I am looking for.

> Does anyone out there know of anything besides Purify that does all
> of the above?

 
 
 

1. memory debuggers (Sentinel, Purify, Safe-C etc)

Does anybody have any knowledge/experience of the various memory allocation
debuggers that are available for AIX, strengths, weaknesses etc. The ones I
have heard of are Sentinel, Safe-C and Purify. Sentinel looks good on paper,
Purify I'm not sure if it's available on AIX, and Safe-C is pretty much an
unknown here in the UK. If anyone has experience of these or others, please
mail and I'll summarize.

Many thanks,
Phil.
--

####                It's life Jim, but not as we know it        ####
--

####                It's life Jim, but not as we know it        ####

2. XFree86 problem

3. Q: What (free) debuggers are available w/memory leak testing

4. Wanted: Boot Mag Disk 15

5. Cheap PCI enet card that Linux likes?

6. Sun Blade 100 - Max HD size

7. Free Virutal Memory is 1% even though Total Free Virtual Memory is above 1GB

8. Linux route tables ... help!

9. Information on "Purify" - Malloc debugger

10. Purify -- Super-duper Malloc Debugger

11. Any purify-like tool on Linux platform ?

12. How can I get the Purify-like program?

13. Need free/cheap SW to allow Linux to be a DOS file server