I've only got experience with Object Center ... In general
it's a very good debugging tool, it will flag any references
to uninitialized variables and any array bounds violations as
soon as they are accessed, pretty nifty.
The only drawback is the long delay while your source is loaded
in and "linked". This can be a real pain if you're using a lot
of libraries (such as NIH), because you'll have to perform some
rather unatural acts to balance source availability versus load/
link time.
-------------------
ObjectCenter is an excellent tool. We use it all the time. You
won't go wrong spending your money on it.
I know less about the other tools. But most reviews I've seen
recommend OC over the others..
-------------------
We bought ObjectCenter, for the same reason you did; we played
around with it, and it worked. The problem is, under real life
situations, it is ssssllloowwww. Using a Sparc2 with 32MB and
loading object-only, our project would take, literally, hours to
load. And it just wasn't that big, a few tens of thousands of
source lines.
This was release or so ago, so maybe the thing is faster now.
-------------------
I am using OjectCenter and like it a lot. I haven't used Objectworks
but based on the literature it looks like it has comparable
features. The one thing ObjectCenter has that I have not seen in
other products is the command line C/C++ interpreter. This is really
nice. The run-time error checking is valuable also. It would be nice
if it had an OpenLook or Motif interface and worked better with emacs.
I understand these improvements will be made (you guessed it) in the
next release.
-------------------
ObjectCenter is a dog; my test application is about 65,000 lines
of C++ and C code. On a Sun Sparcstation with 28 Meg of RAM and
80 Meg of VM page space, I was unable to load all the source code
for my application. It would run out of VM after 5 - 8 hours no
matter what I did. Their technical people tell me that I need
120-150 Meg of VM, and that some of their customers use up to 500
Meg!!
-------------------
Here we use ObjectCenter. Its main advantage over other products
is that it is an interpreter, so it can detect certain run-time
errors having to do with memory corruption that cause segvs and
can take days of debugging and hair-pulling to find otherwise.
It is also nice that it is an environment so you can fool around
with objects of a single class, without compiling and linking a
whole system.
Its main disadvantages are that it is an interpreter and hence
SLOW. I usually get around this by only loading in a few source
code files, and the rest of my process in compiled form. The
compiled code executes about as fast as under dbx, and I can debug
the code I am interested in. Also, you need a hekuva lot of RAM.
Our workstations have 40MB, but we have about 100K lines of source
code. But even for small processes, you need a lot. The browsing
tools are helpful, but not as good as what you get with Objectworks
or Lucid.
------------------
There are people around here who won't use ObjectCenter because
they think it is to slow to load. The key is knowing that you can
only load a few files in source and the rest in object (with the -G
flag preferably). Then you can get reasonable load times. Otherwise,
it's a nightmare. Not to mention that after a while, it often just
"stops working". Nothing more can be done. You have to start again
and reload everything. So if you are not smart about what you load,
you are looking at two-hour load times.