I\'m using the Leaks Instruments feature through Xcode to (try and) find memory leaks. I still haven\'t figured out how to use this program. I click Leaks in the program and
The memory debugger (button just over the console, next to the view debugger) is quite useful too. It will show you leaks, and you can check /filter easily if objects are still in memory when they shouldn't.
Xcode: run -> Start with Performance Tool -> Leaks
Made a sum up of the main memory leak tools: http://bcaccinolo.wordpress.com/2010/09/15/iphone-essential-performance-tools-list/
Keep in mind that the Simulator may leak when the device will not. Ran into that once already with UITableViewController class.
One of the best way to find the memory leaks is Select Product-> Analyze. In the left Xcode shows in which file you have memory leaks. What are the variable causing memory leaks. This is one of the best way to find memory leaks.
Note also that the leak tool is not going to show you instances where objects are over-retained and still held on to. Leaks are cases where objects that should have been let go are just hanging around with no-one to clean them up. Over retained objects are validly held onto even though you'd think they should be gone - thus the leak tool cannot point them out, since they are still referred to and there's no way to tell them apart from objects that should still be retained.
To find those, use the memory reporting tool and make sure that memory use goes down fully after you free an object. If you notice something isn't freeing memory, you can start by putting breakpoints in dealloc to see if what you expect to see released is actually getting released.
You need to look for both cases to keep a clean memory footprint.