re Instruments ‘Memory Leak’ profiling, do other tools give any more info re finding root cause of a leak?
My issue I’m stuck on is finding the root cause (as opposed to where the leaky object was created, which Instruments tells me). For an example where I’m stuck see What is the source of the leaky object for this code? Simplistically it seems I’m not releasing an object somewhere, but this object is bundled within a parent, which is within a parent etc etc so I’m having a hard time trying to track down where I went wrong.
So my question is, beyond Instruments (and the profiling using ‘Memory Leaks’, which tells you the location of creation of the leaky object, but not the root cause), are there any other tools I could run that could give me any more info than Instruments re tracking down the root cause point?
EDIT 1 – Note my application will BUILD & ANALYZE without any issues.
I’m fairly new to reading the instrumentation displays, but the way I found a couple of leaks in my app was to watch the allocated object counts in instruments and then repeatedly perform some simple UI function. I’d see 2 or 3 object counts constantly increasing over a period of time as I tapped the screen over and over.
Looking at the classes I found that during development I’d added some properties and forgotten to nil then in the dealloc code. Once I added those statements the leaks disappeared.
The interesting point is that these didn’t show up in the leaks display or the static analysers. At least not that I recognised.