Question

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?

Was it helpful?

Solution

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?

OTHER TIPS

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

Licensed version prices

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'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.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top