I've tried it....
by
hawkstone
·
· Score: 5, Informative
So here's the deal:
PurifyPlus for UNIX is great. The older versions worked like this: 1) build your binary "foobar" normally 2) run "purify foobar -arguments..." 3) get wonderful memory checking, including uninitialized memory reads/copies, array bounds reads/writes, zero page reads, and memory leak checking.
The newer versions work like this: 1) build your binary almost normally, except... 2) add "purify" to the beginning of your normal link line, e.g. "purify g++ obj.o -o foobar" 3) get wonderful memory checking, blah blah blah
The downside to this is obvious, but IMHO very minor. It does not need any source modifications or modifications to the compile stage, and winds up being one extra target in the final makefile. In addition, it will instrument all shared libraries, including plugins as they are loaded. Works flawlessly.
In addition, PurifyPlus includes quantify for profiling (with nice butterfly graph) and purecoverage for code coverage testing. All very nice.
Just yesterday, I tried the linux version. It's not the same at all. It is a huge GUI based IDE (think KDevelop or MS Dev Studio), and it wants you to add all your source files to it. I need to investigate it further, but it appears that it needs to know about all your.c/.cpp files and wants to build the entire program yourself.
I don't want to edit my files in PurifyPlus. I don't want use use PurifyPlus to manage my build process or to build by executables for me. I don't want to use it as a debugger. We have a huge cross platform suite with complex build rules, and I want to edit my files using an advanced editor like XEmacs. I use totalview for debugging. I just want to run it on my binary and have it work. If Rational is going to try to get us entrenched even more in their products by going this route, they are likely to have us lose interest.
Now, I hope I'm wrong, and I very well might be. I need to look through to documentation more to confirm/disprove my current beliefs, but I played with the thing for most of an hour and looked through the tutorials before forming these beliefs.
Rational did tell us they want to have a conference call to discuss "usability" issues. I think I may take them up on this. I love purify, and if there's a way to get it to work reasonably well, I will use it happily. If anyone is interested, I can respond to this thread with the answers.
(The funniest part is that we've been on Rational's back forever trying to get them to give us a linux version, and they always have said "We have no plans for one". Then this suddenly appeared. I hope what suddenly appeared is usable, 'cause I'm not so sure it is yet.)
Comparision of Various Memory Debuggers for Linux
by
Karna
·
· Score: 2, Informative
A fairly detailed list of various memory debuggers for Linux was covered in the August Issue of Linux Gazette, available here. It's interesting to note that the article actually says the following:
Purify The big daddy of memory tools, does not work on Linux, so you can stop asking that question.
No pricing on the site, but the HPUX/Solaris version is tad under five grand. Five grand US, that is.
Yeah, right.
Dave
I write a blog now, you should be afraid.
So here's the deal:
..."
.c/.cpp files and wants to build the entire program yourself.
PurifyPlus for UNIX is great. The older versions worked like this:
1) build your binary "foobar" normally
2) run "purify foobar -arguments
3) get wonderful memory checking, including uninitialized memory reads/copies, array bounds reads/writes, zero page reads, and memory leak checking.
The newer versions work like this:
1) build your binary almost normally, except...
2) add "purify" to the beginning of your normal link line, e.g. "purify g++ obj.o -o foobar"
3) get wonderful memory checking, blah blah blah
The downside to this is obvious, but IMHO very minor. It does not need any source modifications or modifications to the compile stage, and winds up being one extra target in the final makefile. In addition, it will instrument all shared libraries, including plugins as they are loaded. Works flawlessly.
In addition, PurifyPlus includes quantify for profiling (with nice butterfly graph) and purecoverage for code coverage testing. All very nice.
Just yesterday, I tried the linux version. It's not the same at all. It is a huge GUI based IDE (think KDevelop or MS Dev Studio), and it wants you to add all your source files to it. I need to investigate it further, but it appears that it needs to know about all your
I don't want to edit my files in PurifyPlus. I don't want use use PurifyPlus to manage my build process or to build by executables for me. I don't want to use it as a debugger. We have a huge cross platform suite with complex build rules, and I want to edit my files using an advanced editor like XEmacs. I use totalview for debugging. I just want to run it on my binary and have it work. If Rational is going to try to get us entrenched even more in their products by going this route, they are likely to have us lose interest.
Now, I hope I'm wrong, and I very well might be. I need to look through to documentation more to confirm/disprove my current beliefs, but I played with the thing for most of an hour and looked through the tutorials before forming these beliefs.
Rational did tell us they want to have a conference call to discuss "usability" issues. I think I may take them up on this. I love purify, and if there's a way to get it to work reasonably well, I will use it happily. If anyone is interested, I can respond to this thread with the answers.
(The funniest part is that we've been on Rational's back forever trying to get them to give us a linux version, and they always have said "We have no plans for one". Then this suddenly appeared. I hope what suddenly appeared is usable, 'cause I'm not so sure it is yet.)
A fairly detailed list of various memory debuggers for Linux was covered in the August Issue of Linux Gazette, available here.
It's interesting to note that the article actually says the following:
Purify
The big daddy of memory tools, does not work on Linux, so you can stop asking that question.
Funny how that changed so quick!
All weakness is within you, As is all courage.