Heap Report (Compact 2013)
3/26/2014
For each heap in a process, the DevHealth heap report provides the following information:
- The start and end address of the heap region
- The number of allocation blocks
- The total size of the allocation
If the heap sentinel is enabled, the Heap Report section labeled Per-module consumption shows the number of allocation blocks and the size of total allocations by each module. To enable the heap sentinel in the OS image, set IMGENABLEHEAPSENTINEL=1. The Per-module consumption section is labeled as "Allocated by unknown modules" if the heap sentinel is not enabled.
The following example shows an excerpt of a heap report, which shows that there are two heaps in process Explorer.exe: A heap starting at address 0x00070010 and a heap starting at address 0x000d0010. In the first heap, five modules (Ceshell.dll, Explorer.exe, Commctrl.dll, Coredll.dll, and Ole32.dll) have allocated memory and the total allocation size is 14214 bytes.
The heap report also contains total heap allocations across the entire system on a module basis. The following excerpt shows heap report data across the entire system.