8

I'm currently looking for a good memory / leak detection tool for Windows. A few years ago, I used Numega's Boundschecker, which was VERY good. Right now it seems to have been sold to Compuware, which apparently sold it again to some other company.

Trying to evaluate a demo of the current version has been so far very frustrating, in the best "enterprisy" tradition:

(a) no advertised prices on their website (Great Red Flashing Lights of Warning);
(b) contact form asked for number of employeers and other private information;
(c) no response to my emails asking for a evaluation and price.

I had to conclude that BoundsChecker is now one of "those" products. Y'know, the type where you innocently call and tomorrow 3 men in black suits turn up at your building wanting to talk to you about "partnerships" and not-so-secretly gauge the size of your company and therefore how much they can get away with charging you.

SO, rant aside, can anyone recommend an excellent memory checking/leak detection tool, how much it costs, and suggestions for where to buy?

Zifre
  • 26,504
  • 11
  • 85
  • 105
cfischer
  • 24,452
  • 37
  • 131
  • 214

5 Answers5

5

You can try Memory Validator. You can try the evaluation copy of the same as well.

Licensed version prices

aJ.
  • 34,624
  • 22
  • 86
  • 128
3

Beware of Compuware's bounds checker: It is stable up to a point. It costs about 3600 dollars, and about an equal amount to maintain from year to year. But that is peanuts compared to Coverity. I haven't gotten a good test run to work right under Bounds Checker for the last 3 years. That is why I don't use it anymore, and why I don't recommend you use it, except on small, tiny projects. On big enterprise apps, it's just too slow, takes up too memory, and simply stops working. I mean really, do you want your application to take 5 minutes to boot? Do you want your test executions to take 3 times longer? Worst of all, is it's tendency to just lock up. Customer support from Compuware was pretty limited. But bounds checker was sold to another company (can't remember their name) whose website is so aniceptic, sterilized and dry, it makes financial company websites look entertaining. But the killer problem with BoundsChecker is it is 32 bit only. So if you need to profile a large application that takes lots of memory (More than 1 Gig), you are simply out of luck. Bounds Checker will eat up 2 to 3 Gigs of memory from your app. And with 32 bit apps, you well know that 4 Gigs is the tops you get.

Coverity is great if you hire a person to babysit it. Seriously Coverity costs more than my house. That's not to mention the person my company would have too hire to babysit the dang thing. It takes 24 hours to do it's magic. And it doesn't do all that much more magic than simply compiling your code at warning level 4, and turning on 'Code Analysis' (In visual studio).

I've tried other memory leak tools (for native code). They all SUCK big time, are too complicated, or just plain old lock up the system. I'm so disgusted with the entire field of memory profilers, that I just want to go back to using the debug CRT. That or just write my own.

As for code coverage tools, Bullseye wins hands down. Why can't a memory leak detector just work as solidly as bullseye?

C.J.
  • 15,637
  • 9
  • 61
  • 77
  • Unfortunately, they only thing I can add is Amen. – cfischer Jun 12 '10 at 14:09
  • I also agree 1000%. Even with the support for 64 bit apps, BoundsChecker still locks up, takes 10 minutes to start my non-tiny app, and fails to actually find (even intentional!!!) memory leaks on occasion. – Brett Jul 28 '12 at 04:25
  • And I am only now coming to fully realize the disaster (for this product) that the Compuware acquisition of NuMega in 1997 was. Becoming part of a publicly traded company, all previously existing products were put on "maintenance", with lesser programmers doing the work, as the company tried to find ways to make something new (aka something nobody knows the warts of) to sell, leveraging the older technology where possible. – Rick Papo Oct 25 '12 at 10:39
  • In any case, only ten minutes? That's not bad, seeing as the speed penalty for using BoundsChecker is typically 80-100x when not using compiler instrumentation, and several times more than that with instrumentation. That said, these past few months I was able to find a number of simple things to fix that resulted in a 30% improvement in performance with instrumentation. The changes were mostly eliminating redundancies introduced by well intentioned but incompletely informed developers. – Rick Papo Oct 25 '12 at 10:44
2

Microsoft's Application Verifier tool is very good at detecting leaks as well as a bunch of other common programming mistakes on Windows (COM, heaps, TLS, locks, etc).

It doesn't do so much in the way of profiling, but it will give you the stack of where the memory was allocated when you leak it, or the stack where it was free'd the first time if you double free, etc.

i_am_jorf
  • 53,608
  • 15
  • 131
  • 222
2

I've been fairly happy with AQTime, and the pricing is tough to beat (and very transparent - $599/user).

The allocation profiler works fairly well - it's not quite as sophisticated as Boundschecker (from what I remember of Boundschecker), but what it does, it does well - and it handles quite a few other things, too.

Reed Copsey
  • 554,122
  • 78
  • 1,158
  • 1,373
1

This thread is way out of date. It is true that we haven't been able to convince Micro Focus to post prices out on their main web site, but you can get prices on ComponentSource, and we don't send out agents in dark suits and shades 8-/ Pricing depends on whether you are asking for a single user or multiple user license, and whether you want just BoundsChecker, or you want all of DevPartner Studio. See ComponentSource Listing for details.

Anyway, we've not stopped working on the product. On February 4th, we released version 10.5, which (finally) supports 64-bit applications (AMD64,Intel64, not Itanium) on Vista and Windows 7. Quite a few old bugs were fixed along the way. The next update will include support for XP64 and Windows 7 SP1, as well as Visual Studio 2010 SP1.

Rick Papo
  • 369
  • 1
  • 2
  • 10
  • If anybody has questions concerning Micro Focus DevPartner Studio or BoundsChecker, please visit our forum at http://community.microfocus.com/Forums/9_DevPartner. – Rick Papo Jul 14 '11 at 18:04
  • As of late 2019, Bounds Checker / DevPartner is no longer sold by long-time supplier ComponentSource or, apparently, anyone else, on the MicroFocus site any attempt to acquire it just leads to a generic inquiry page asking for your contact details, and their support forums contain just a single (never replied to) post that's less than a year old. So it looks like the long death spiral has finally concluded. – Dave Nov 21 '19 at 10:40
  • With all the reorganization going on within the company right now due to M&A activity, this seems to have fallen through the cracks. Management is working on resolving this issue. To repeat: Reports of our demise have been greatly exagerrated. DPS 12.0 is in the works, and the first beta will be released in a few days (lawyers permitting). – Rick Papo Nov 22 '19 at 10:00