IBM/Rational Purify (or an alternative) on FC3/FC5

Amadeus W. M.
Sat Aug 26 13:41:00 GMT 2006

On Fri, 25 Aug 2006 10:56:04 -0700, Brian D. McGrew wrote:

> Morning All,
> I rely heavily on IBM/Rational Purify for debugging software and under
> Solaris/RH73 life is good but it doesn't work on FC3/FC5 with a kernel >
> 2.4.
> Has anyone used Purify and found a workaround for this or is there
> something similar for stack/heap/memory leak debugging that works well
> on FC3/FC5 with gcc-4.1 compilers?
> Thanks!
> :b!
> Brian D. McGrew { || }

I regularly use valgrind, efence, and of course gdb, most
recently on FC5. These, together with emacs are mandatory
development tools for me. What would life be without them?

Valgrind simulates the processor in software, and it reports 
precisely (line number in the source file) where you're doing an 
out-of-bounds read/write, memory leaks, etc. It's fun (or worrisome,
actually) to see many errors in the system libraries, besides your 
own. It got several awards since its inception a few years ago.
It's also pretty trivial to use, yet immensely powerful.

Electric fence inserts non-writable pages at key points in 
your program, and so if you do a write that you shouldn't, 
it catches it. All you need to do is link your executable 
against -lefence at compile time, possibly set some environment
variables, and run the executable (optionally, in gdb; it will 
take you right at the buffer overrun). Mind you, with efence, the 
executable becomes huge, and running it in the debugger may be 
painlessly slow if you're debugging major programs with threads
and graphical libraries, etc.

In the electric fence man page it says that purify is better,
so a couple of weeks ago I did go to the IBM page and I saw a 
free trial version and I thought I'd give that a try, but I changed
my mind, so I can't tell how recent version is, whether it works
on FC5. If it doesn't work, then valgrind, efence and gdb are your 
best bet.

More information about the Gcc-help mailing list