[GD-Windows] Memory Tracking
Brought to you by:
vexxed72
From: <v.l...@co...> - 2007-04-05 22:23:54
|
Hi everyone, (If you've seen this on: swe...@li..., please ignore) I was curious if there is a way, on Windows, to track memory allocations, particularly third party DLL allocations? For example, in a Windows application I am working on, during load time it says that the total Private Bytes is 100MB (using perfmon) about 10 seconds after load time. For allocations I am doing myself, it would be simply to funnel all allocations to a debug allocator, which I've done and that's accounted for 30MB in private bytes. Where is the other 70MB? I've tried a few software solutions: AQTime, Glowcode, Memory Validator, and umdh. AQTime - most promising, actually shows how much each DLL takes (commited/reserved bytes, but I cannot verify the numbers.). It's however very slow. Glowcode - did not work at all. even simple memory leaks. Memory Validator - also promising, but did not do what I needed it to do. umdh - Microsoft tool. only tracks heap allocations, does not track DX/OGL allocations. For code solutions, I've implemented stack tracing that works, and I tried using HeapWalk to see if I can see allocations, but using a simple directx test where I call CreateTexture a whole bunch of times, umdh did not detect the texture memory allocated, even though Private Bytes increased by the correct size. A few nice people from the sweng-gamedev list (Chad Austin, Andy O'Neil) have shown me: -MS Detours -fixing the IAT If anyone has any other solutions on this, it would be very much appreciated. :) -Vermont Lasmarias |