Hello, I have an app that is using too much RAM and I am trying to figure out which structures are using how much RAM.
Note that this is not a leak, everything is freed nicely when the app closes, so I am resorting to putting DumpHeap() calls somewhere. The app has multiple threads and is fairly large so it is not trivial to guess who is responsible. Using DumpHeap() I do get some results like this: 626944 memory blocks allocated : 17619122/20768760 626799 memory blocks freed : 17602699/20752144 145 unfreed memory blocks : 16423 True heap size : 688128 True free heap : 639696 Should be : 641352 ......... Call trace for block $0B019488 size 88 $0048262C line 419 of <whatever unit> $0048246C line 394 of <whatever unit> $00485A7D line 1165 of <whatever unit> $0072FA33 line 2927 of <whatever unit> $007F65BE line 120 of <whatever unit> $004C0278 $0072FA33 line 2927 of <whatever unit> $007F65BE line 120 of <whatever unit> Marker: global But the information is so small. I have an excess of 100MB RAM usage according to "task manager" in Windows 7, but heaptrc just shows a few blocks like the one above and no mention of how many times this block repeats itself ...it doesn't sum up 100MB, so I can't figure out how much RAM each block is using. "size 88" isn't very helpful, if it uses only 88 bytes it surely can't be the guilty one. Any ideas if I should try something else instead of heaptrc? Or any other ideas about what to do? thanks, -- Felipe Monteiro de Carvalho _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal