Suggestions for Memory Leak Tool
-
I have a very large VC++ (Visual Studio 2003) Win32 console application who's memory grows at a steady rate over time. I've tried: * DevPartner BoundsChecker - System runs out of memory when application is running from BoundsChecker (we use a lot of memory and have lots of allocations) * umdh - This free tool from Microsoft can't handle the number of allocatino we do, so we can get one, maybe two, tests run before this tool stops giving data. * Purify - This tool worked to some degree, but also had limitations on how many test iterations it would handle. * HeapAgent - Just downloaded it. Any suggestions on tools that can handle a really big application? Barry Etter
-
I have a very large VC++ (Visual Studio 2003) Win32 console application who's memory grows at a steady rate over time. I've tried: * DevPartner BoundsChecker - System runs out of memory when application is running from BoundsChecker (we use a lot of memory and have lots of allocations) * umdh - This free tool from Microsoft can't handle the number of allocatino we do, so we can get one, maybe two, tests run before this tool stops giving data. * Purify - This tool worked to some degree, but also had limitations on how many test iterations it would handle. * HeapAgent - Just downloaded it. Any suggestions on tools that can handle a really big application? Barry Etter
try to scope down your problem, if there is some point in your program that you can actually "stop" doing something ( by putting some code in comment, for example ) do it, see if it helps those tools. try to implement some unit tests to see if those can be used to find the memory leaks.
Maximilien Lincourt Your Head A Splode - Strong Bad
-
I have a very large VC++ (Visual Studio 2003) Win32 console application who's memory grows at a steady rate over time. I've tried: * DevPartner BoundsChecker - System runs out of memory when application is running from BoundsChecker (we use a lot of memory and have lots of allocations) * umdh - This free tool from Microsoft can't handle the number of allocatino we do, so we can get one, maybe two, tests run before this tool stops giving data. * Purify - This tool worked to some degree, but also had limitations on how many test iterations it would handle. * HeapAgent - Just downloaded it. Any suggestions on tools that can handle a really big application? Barry Etter
Start with this: http://www.codeproject.com/tools/leakfinder.asp[^] Customize to fit your needs. As Max said, you'll want to cut down the scope to where it is manageable. A good way to do this is to identify operations that *shouldn't* leave memory allocated, and wrap them in checks. Starting with the larger operations and narrowing scope should let you zone in on the problem fairly quickly. Oh, and i should also mention this tool: http://www.softwareverify.com/memoryValidator/index.html[^] I've found it to be a good deal faster than BoundsChecker, and it also has the ability to start and stop data collection, which can be quite nice when you want to ignore initial allocations.
Now taking suggestions for the next release of CPhog...
-
I have a very large VC++ (Visual Studio 2003) Win32 console application who's memory grows at a steady rate over time. I've tried: * DevPartner BoundsChecker - System runs out of memory when application is running from BoundsChecker (we use a lot of memory and have lots of allocations) * umdh - This free tool from Microsoft can't handle the number of allocatino we do, so we can get one, maybe two, tests run before this tool stops giving data. * Purify - This tool worked to some degree, but also had limitations on how many test iterations it would handle. * HeapAgent - Just downloaded it. Any suggestions on tools that can handle a really big application? Barry Etter
One thing I've done with BoundsChecker in similar situations is to limit the source files that were instrumented. For what it's worth, I've tried HeapAgent in the past and hated it. Your mileage may vary. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke