When the Objects category is active, the Report panel displays information about objects that were created and about memory blocks that were allocated after the profiling started. The panel contains the following columns:
Columns (in alphabetical order) | Description |
---|---|
# | The creation number of the given object or memory block. |
Address | The object's address in memory. |
Class Name | The name of the object’s class. For memory blocks, this column contains the C++ native memory, VCL native memory or the VB native memory value depending on what memory management routines were used to allocate the block.
This column may also contain the Memory Overwrite Error value. It indicates that the profiler detected that the application code violated bounds of memory blocks that were allocated during the application execution. See Checking Bounds of Memory Blocks for more information. |
Get # | The ordinal number of the Get Results command that generated the current results set. For instance, if you pressed Get Results two times during the profiler run, you will get three result sets (the third one will be generated after the application is closed) with numbers 1, 2 and 3. The Get # value in all records of the first result set will equal 1; in the second result set this column will display 2 and in the third result set the column will display 3. The Get # column is used for comparison purposes. It lets you easily see which objects were created or deleted between two result generations. |
Module Name | The name of the module containing the object. |
Object Name | The object name. It is formed as Class Name + period + number. For example, TestClass.3 means the third TestClass object that was created after the profiling started. Memory blocks and memory violation results are named using the same principle. |
References From | The number of objects that refer to the given object. This column is used only for objects in managed applications. |
References To | The number of objects to which the given object refers. This column is used only for objects in managed applications. |
Root | This column is used for objects of managed applications only. If Root is checked, the object is referred to by an existing global or local variable or by a function parameter. If Root is unchecked, the object is referred to by a property of another object’s field. |
Size | Size of the object or memory block in bytes. For the Memory Overwrite Error row, the column displays the size of the block, whose bounds were violated.
The Allocation profiler tracks the actual size of allocated memory blocks, not the size specified in the application’s source code. For some applications, for instance, for Visual C++ applications compiled in Debug configuration, these values differ. These applications allocate some extra bytes in memory, so, the value of the Size column can be larger than the value specified in the source code. See Allocation Profiler - Analyzing Visual C++ Applications. |
Thread | Specifies the thread where the object’s constructor was called (where the allocation routine of the memory block was called). |
See Also
Allocation Profiler - Results of the Objects Category
Allocation Profiler - Overview
Search for Memory Leaks
Allocation Profiler Panels Reference
About the Report Panel