Forum Discussion

RobinP's avatar
RobinP
New Contributor
14 years ago

How to track down memory leak when AQtime gives class as "VCL native memory"

Hi Folks,

I have profiled a large C++ Builder XE project using the Allocation Profiler, and find that one of my classes has a live count of 5020 after quitting the program.  Great, so that means a leak, I'll dig deeper on that one.  But for the class name, it just says "VCL native memory".  Now in the FAQ it says you should simply "switch to the Objects category, select a record in the Report panel,
open the Details panel and switch to the Call stack panel. It displays
the stack of function calls that led to the object’s creation.".  But how am I supposed to know which record in the Report panel to click on?  I can't check them all, I have about 100 pages of them!

Is there any other way I can follow this further with AQtime?

Cheers,

Robin
  • Hi Robin,


    Since AQtime version 7.30, you can view the call stack information for all unreleased instances of the needed class at once. To do this, activate the Classes Data result category, choose the VCL native memory row in the Report panel and switch to the Call Graph or Call Tree panel. Viewing calls in these panels helps you observe all the call routes and single out those that require your attention at first.


    For more information, please read the Viewing Call Stacks online article. Also, I recommend that you see the Fixing Memory Leaks With AQtime video.

  • RobinP's avatar
    RobinP
    New Contributor
    Hi Margaret,

    I did see the video already, which was very helpful. But I don't believe I have AQTime 7.3: as far as I can determine I have 7.0 (included with C++ Builder XE).  I did find an update on the Embaradero support website, but only to version 7.1.  I don't see the "View Allocation Paths in Call Tree" button in the report toolbar, so I guess that came in the later version.  I guess I would have to upgrade to XE2 to get that, or buy it separately.  So it looks like I am stuck for now.  Anyway thanks for your help.

    Cheers,

    Robin
  • Hi Robin,


    The current version of AQtime is 7.40. This version is available with Embarcadero RAD Studio XE2. So, you can upgrade to RAD Studio XE2 to use the described functionality.


    Besides that, you can purchase a stand-alone version of AQtime, AQtime Pro, or sign up for its free trial version.


    Also, you can use a free edition of AQtime - AQtime Standard. Note that as compared to the full version (AQtime Pro), AQtime Standard's functionality is reduced. You can download AQtime Standard from our web site - http://smartbear.com/products/free-tools/aqtime-standard/sign-up/.


    All AQtime editions I mentioned contain the viewing call stack functionality.

  • h_hasenack's avatar
    h_hasenack
    Occasional Contributor
    Dear Margaret



    We use AQTime pro 7.0. and since I am experiencing some trouble I was looking for an update. My app and the webpage says the latest release is 7.30.537.64



    So I guess the 7.40.xx.xx is till being tested at the moment.



    I'll post my problem in a separate thread.
  • Hi,


    I'm sorry for the incorrect information. Hans is right. The current version of AQtime is 7.30

  • RobinP's avatar
    RobinP
    New Contributor
    Hi Margaret,

    I have downloaded a newer version of AQTime Standard (7.3 as noted above), and it does provide more helpful information as you suggested.  Unfortunately it would not allow me to use the integration with XE (Pro version needed for that), but that is really just a matter of convenience.  I was now able to pinpoint my memory leak and fix it, so many thanks for your help.

    Cheers,

    Robin