Tracing System Memory Management Functions

Applies to AQTime 8.81, last modified on January 18, 2022

The following sections describe how to trace memory management functions with AQTime:

About Memory Management Functions

The Allocation profiler tracks functions that allocate or de-allocate memory. Applications work with memory using functions of two types: system memory management functions (Windows API functions) or functions of the runtime memory manager, which is part of a certain runtime library. For information on profiling runtime memory manager functions, see the topics listed in the See Also section.

List of Traced Functions

The profiler always traces calls to functions of the runtime memory manager. As for calls to system memory management functions, they are traced only if the profiler’s Check system memory allocations option is enabled. By default, this option is disabled. If you enable it, the profiler will trace calls to the following Windows API functions that allocate and de-allocate memory:

CommandLineToArgvW    
FormatMessageA
FormatMessageW
GlobalAlloc
GlobalFree
GlobalReAlloc
HeapAlloc
HeapCreate
HeapDestroy
HeapFree

HeapReAlloc
LocalAlloc
LocalFree
LocalReAlloc
PrintDlgA
PrintDlgW
ReleaseStgMedium
SetClipboardData
VirtualAlloc
VirtualFree

Viewing Profiling Results

Memory blocks that were allocated by system memory management functions and not disposed at the end of the application run are reported under specific class names (with a complete call stack for each leaked block).

The following table shows how traced memory management functions are represented in the Report panel:

Class Name Functions
Committed Virtual Memory
Reserved Virtual Memory
VirtualAlloc, VirtualFree
Global heap GlobalAlloc, GlobalFree, GlobalReAlloc, PrintDlgA, PrintDlgW, ReleaseStgMedium, SetClipboardData
Heap HeapAlloc, HeapCreate, HeapDestroy, HeapFree, HeapReAlloc
Heap memory VirtualAlloc, VirtualFree
Local heap CommandLineToArgvW, FormatMessageA, FormatMessageW, LocalAlloc, LocalFree, LocalReAlloc

See Also

Allocation Profiler
Allocation Profiler - Analyzing Visual C++ Applications
Allocation Profiler - Analyzing Delphi Applications
Allocation Profiler - Analyzing C++Builder Applications
Allocation Profiler - Analyzing Visual Basic 6.0 Applications
Allocation Profiler - Analyzing Intel C++ and Borland C++ Applications

Highlight search results