I'm currently trying to fix memory leaks in our application. After fixing everything in OgreLeaks.log, I now get the "Congratulations"-Message in the OgreLeaks.log but still the following output on the console in Visual Studio:
Do I still have leaks (which I assume from that output)? Can I somehow get them to be output into the Leaks-Log file together with the additional info?
I would be very grateful if someone can shed some light on this:
OgreLeaks.log will only report leaks from OGRE code, or code which uses OGRE's memory manager. Additional leaks may exist elsewhere that it can't pick up.
It's not Ogre. Looking at it again, it might be the DirectX debug runtime. Unfortunately the output it produces is supremely unhelpful - much less helpful than our memory leak tracker. God knows where to start looking for those. Hmm, 0x1D47E2D8 eh? I know it well...
Last edited by sinbad on Fri Jan 07, 2005 3:07 pm, edited 1 time in total.
There is a way to get it break on the allocations reported via the number in brackets just before it says 'normal block', but I can't remember what that is!
Doesn't look like a DirectX memory leak (at least...not DirectX9). I actually used to think the DX memory leaks were worthless, until I did some googling; determined to find a way to actually use the info . The DX memory leaks include an lAllocID for each item that was leaked. In the DX control panel, you can enter in the lAllocID into the box that says "Break on AllocID". When you run again, it will create a user breakpoint and stop at the spot of allocation, such as creating a device, vertex buffer, etc. I assume that behind the scenes, it uses what monster describes above.
I just did this recently because it appears that Managed DX does not always destroy all resources, even when you explicitly dispose of them.