The Allocation profiler generates a huge amount of results, and sometimes it is difficult to locate the items that are of interest. Therefore AQTime provides a number of built-in filters that hide the results matching certain conditions. Several filters can be applied simultaneously.
The buttons that toggle result filtering reside on the ProfilerReportProfiler toolbar. The following sections describe the available filters:
Filtering Classes
If the Show all loaded classes button is enabled, the profiler reports all of the classes being profiled even if no instances (objects) were created for these classes. Otherwise, AQTime only reports the classes whose instances had been created by the time the results were generated.
If the View project classes only button is enabled, the profiler reports memory allocations and de-allocations that were made only by modules added to the Setup panel. Otherwise it lists the memory operations performed both by the “Setup” modules and by other modules that the “Setup” modules use.
Note: | In some applications a class or memory block can be allocated and released by different modules. For instance, a string can be allocated by the main executable and released by a dynamic link library that is used by this executable. If the DLL is not included in your AQTime project, the Allocation profiler will not be able to detect the release of the string and will report a memory leak. This may cause you to think that the main executable has a memory leak, while it does not. To avoid the confusion, include the main executable and the DLLs it uses in your AQTime project. |
Filtering Objects
If the Filter objects by stack button is enabled, the profiler reports only the objects created directly by the Setup module. Otherwise, AQTime reports all created objects for whichever module created it.
Filtering Standard Leaks
If the Filter standard leaks button is enabled, AQTime will automatically detect the compiler version, which you used to create your application, and will hide the memory leaks specific to this version from the Report panel.
AQTime excludes known memory leaks that were produced by standard IDEs and libraries (like MFC and VCL). Otherwise, these leaks are reported along with the rest of the profiling results. Using this feature you can concentrate on the inaccuracies of your code and exclude MFC and VCL leaks (which you cannot fix) from analysis. A list of known memory leaks is available at http://support.smartbear.com/articles/aqtime/leaks/.
Note: | This filter applies to both the Classes Data and Objects categories of the Report panel. |
See Also
Reduce the Amount of Collected Allocation Data
Allocation Profiler - Report Panel
Allocation Profiler