views:

539

answers:

5

I'm implementing a sparse matrix with linked lists and it's not fun to manually check for leaks, any thoughts?

+13  A: 

The valgrind profiler for Unix offers a decent leak detection.

However, this is only one part of a successful approach. The other part is to prevent (i.e. minimize) explicit memory handling. Smart pointers and allocators can help a great deal in preventing memory leaks. Also, do use the STL classes: a leak-free linked list implementation is already provided by std::list.

Konrad Rudolph
<3 valgrind. But yes, a tool, not a complete solution.
Bernard
A: 

If you use Anjuta,you can use valgrind module.

Chatsiri.rat
+3  A: 

On Windows:

Compuware BoundChecker (bit costly but very nice)

Visual LeakDetector (free, google it)

On Linux/Unix:

Purify

AlexC
Purify is available for Windows too.
Ferruccio
A: 

The original version of Purify on Unix was brilliant. But the Windows version produced after Rational bought it is terrible. Flakey as hell. Avoid at all costs.

Andy Brice
A: 

You can read good article about memory leaks on Wikipedia: http://en.wikipedia.org/wiki/Memory_leak

This page also has the good links to other articles and even programms that will help you a lot.