MartinB_1
15 years agoOccasional Contributor
How can I speed up the ALlocation Profiler for native VC++ apps?
Today, I (sucessfully) tried to use AQTime's Allocation Profiler to find some memory leaks in my VC++/MFC Application.
The memory leaks were already highlighted by the leak detection built into MSCRT, but this leak detection doesn't tell you *where* the leak was, so is only useful in scenarios with 100% allocation-order reproducibility as it lists the allocation number.
So I fired up AQTime Pro 7 and set up the Allocation Profiler for the exe + 1 dll + msvcr80.dll
It worked out in the end, but is was so god-awfully slow that it seems of extremely limited use.
This is a heavily multithreaded MFC desktop application. In the tests I did, it normally starts up in about 10 second and then runs with nearly no performance impact on my machine.
When run under the Allocation Profiler, startup took about 5 minutes (!) and you could not use the app (GUI very unresponsive). Closing it (clicking on the ) worked with a delay of multiple seconds and after several minutes more I had my reports, luckily highlighting the offending call stacks.
Obviously, if I had needed to actually *do* anything within my app or if my app wouldn't just idle around w/o the Allocation Profiler, I expect it to never have finished.
How can I speed up the Allocation Profiler for a native VC++ app if all I want to do is find memory leaks?
The memory leaks were already highlighted by the leak detection built into MSCRT, but this leak detection doesn't tell you *where* the leak was, so is only useful in scenarios with 100% allocation-order reproducibility as it lists the allocation number.
So I fired up AQTime Pro 7 and set up the Allocation Profiler for the exe + 1 dll + msvcr80.dll
It worked out in the end, but is was so god-awfully slow that it seems of extremely limited use.
This is a heavily multithreaded MFC desktop application. In the tests I did, it normally starts up in about 10 second and then runs with nearly no performance impact on my machine.
When run under the Allocation Profiler, startup took about 5 minutes (!) and you could not use the app (GUI very unresponsive). Closing it (clicking on the
Obviously, if I had needed to actually *do* anything within my app or if my app wouldn't just idle around w/o the Allocation Profiler, I expect it to never have finished.
How can I speed up the Allocation Profiler for a native VC++ app if all I want to do is find memory leaks?